semaphore6(김희건)
소개말이 없습니다.

<Kali Linux를 이용한 Metasploitable(취약한 os)의 취약점 분석>


1. mysql의 내부 데이터 조회


1) mysql_login을 이용해서 mysql암호를 알아낸다.




2) 그 후 mysql로 원격접속한다.



2. metasploitable 의 shadow 파일 복호화

1) vsftpd를 이용해서 shell을 획득한다.


2) 그 shell을 통해서 meterpreter shell을 얻는다.


3)hashdump를 사용해서 /etc/shadow파일을 얻는다.


4) 얻은 hash값을 john을 통해서 복호화한다.


5) 복호화 완료


3.  Reverse shell 연결을 통해 윈도우 시스템을 장악


1) reverse shell 연결을 시도하는 악성코드 생성


2) 공격자 PC에 악성연결을 받을 리스너 서비스 기동하고 악성코드 실행




3) 리버스 쉘을 실행시킨 피해자 PC의 스크린샷을 저장




4. demo.testfire.net(취약한 사이트)에서 송금되는 데이터 조작


1) 악의적인 사용자가 관리자 권한으로 로그인

 1-1. 웹서버에서 로그인을 진행하는 php코드를 수정하는 방식을 사용한다. 

 1-2. 계정 인증을 처리하는 php코드는 select ? from ? where id=’‘ and passwd=’‘ 의 구조이다. 

 1-3. select ? from ? where id=’test‘ or ’a’=’a’--‘ and passwd=’‘을 입력한다. 

 1-4. id를 넣는 질의문에 or연산을 사용해서 where조건을 참으로 만들고 뒤에 passwd부분을 주석처리한다. 

 1-5. 이렇게 하면 모든 결과값이 반환되고 그 중에서 가장 윗 부분에 있는 admin(관리자)계정으로 로그인된다.


2) 이체금액을 조작

2-1. 원래 한 user는 50000원을 송금하려고 했었다.


2-2. 이것을 공격자가 burp suite로 잡은 뒤, transferAmount값을 999999로 바꿔주었다.


2-3. 완료되었다는 문구가 나타났다.


2-4. 그 후, 송금한 사람(800000)의 계좌내역 상태를 보면 999999를 보낸 것으로 나온다.


2-5. 이체받은 사람(800001)의 계좌내역 상태를 보면 999999를 받은 것으로 나온다.


좋아요 0
    댓글 0

    <재료>

     재료 1. ujin led사의 LED Sign Board P3패널(32*16 dot matrix)을 사용했다.


    재료2. 패널에 LED를 출력하기위해서 lrs-100모델의 12V 110W의 SMPS(전원공급장치)를 사용하였다.

    재료3. NodeMCU를 사용해서 웹서버와 LED출력을 담당하였다.( NodeMCU의 전원은 usb케이블을 연결해서 pc로부터 전력을 받았다.)


    NodeMCU의 핀과 패널의 핀, 그리고 SMPS간의 핀연결은  ujin led사에서 제공하는 데이터시트를 참고하였다.


    <코드부>

    1.  위에서 제시된 데이터시트에 해당하는 핀의 번호를 변수에 매크로시킨다.



    2.  패널에서 사용할 색상을 RGB에 관련된 color565()함수를 통해서 정의한다.


    3. setup()영역 내에서 무선통신과 웹서버에 관련된 설정값들(wifi, ssid, password등)을 입력하고 server.begin()함수로 웹서버를 구동시킨다.


    4. 그 후 loop()영역 내에서 출력할 위치(setCusor)와 문구(print)를 설정해 준다.

    웹서버에서 on/off버튼을 클릭시 하드코딩해놓은 문구가 출력되는 것을 볼 수 있다. 


    좋아요 0
      댓글 0

      1. 서버프로그램 기본 UI


      1-1. 서버프로그램 주요코드

      구조: 연결요청을 리슨하는 소켓이 있고, 클라이언트와 연결을 시켜주는 소켓이 있다. 해당 소켓들의 정보들을 설정하고 소켓통신 요청을 기다리는 listen상태에 머무르게 한다.


      2. 클라이언트 프로그램 기본 UI


      2-1. 클라이언트 프로그램 주요코드

      구조: 통신할 소켓에 대한 정보들(family, inet_addr, port)등을 설정하고 connect()함수를 사용해서 통신요청한다.


      3.  서버에 여러 호스트가 접속하여 대화를 주고 받는 것을 볼 수 있다.




      4. 클라이언트 프로그램에서 출력되는 화면은 다음과 같다.



      좋아요 0
        댓글 0