CC00018.NavigationLog——|Hydra模拟黑客暴力破解|

本文介绍了开源暴力破解工具Hydra的原理和功能,它支持多种服务的密码破解。同时,文章详细阐述了黑客如何利用Hydra攻击Linux服务器,列举了常见的攻击手段,并提供了模拟攻击的步骤。针对防御策略,文章讲解了如何通过Linux安全日志识别攻击、统计高频率攻击IP并将其加入黑名单。最后,展示了如何设置iptables规则来阻止黑名单中的IP访问服务器。
摘要由CSDN通过智能技术生成
一、Hydra软件概念剖析
### --- Hydra软件概念剖析

~~~		Hydra是著名黑客组织thc的一款开源的暴力密码破解工具,可以在线破解多种密码。 
~~~		Hydra中文翻译为:九头蛇,它是一款爆破神器。
~~~		可以对多种服务的账号和密码进行爆破,包括Web登录、数据库、SSH、FTP等服务。
~~~		Hydra支持Linux、Windows、Mac平台安装和部署,部署方法和步骤也非常简单,
~~~		其中Kali Linux中自带Hydra。Hydra官 网:http://www.thc.org/thc-hydra
~~~		可支持AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, 
~~~		FTP, HTTP-FORM-GET,HTTP-FORM-POST,HTTP-GET,HTTP-HEAD,HTTP-PROXY,
~~~		HTTPS-FORM-GET,HTTPS-FORM-POST,HTTPS-GET,HTTPS-HEAD, HTTP-Proxy, ICQ, 
~~~		IMAP, IRC, LDAP, MS-SQL, MYSQL , NCP, NNTP, Oracle Listener , Oracle SID, Oracle, 
~~~		PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB,
~~~		SMTP, SMTP Enum, SNMP, SOCKS5, SSH (v1 and v2), Subversion, Teamspeak (TS2), 
~~~		Telnet, VMware-Auth, VNC and XMPP等类型密码。
二、黑客攻击Linux服务器&漏洞修复实战
### --- 在企业生产环境中,

~~~		# 在企业生产环境中,
~~~		黑客攻击Linux服务器(业务系统、门户网站、数据等)常见的攻击手段,攻击方式有哪些呢?
~~~		SQL注入攻击
~~~		CC网页攻击
~~~		SYN Flood攻击
~~~		勒索病毒攻击
~~~		上传木马文件
~~~		DDOS攻击
~~~		暴力破解攻击
### --- 模拟Hydra暴力破解Linux服务器

~~~		# 模拟Hydra暴力破解Linux服务器
~~~		设置防御规则抵挡黑客攻击&反攻击实战;
~~~		学习Linux技术,后期从事Linux运维方面的工作,
~~~		作为运维人员最主要的工作职责之一:
~~~		保障企业服务器、门户网站、业务系统、数据库等高效的、稳定的、安全的运行,
~~~		一旦被黑客攻击,能够第一时间去解决漏洞&补丁修复等。
~~~		暴力破解攻击是黑客人员最常使用的攻击方式之一,
~~~		暴力破解的实施门槛、难度很低,其攻击效果非常明显,
~~~		一旦服务器被黑客暴力破解,直接导致服务器的用户名和密码被泄露。
~~~		暴力破解攻击原理:黑客使用暴力破解工具(Hydra)攻击Linux服务器,批量的、
~~~		并发的读取用户名字典、密码字典文件,企图以字典中的用户名和密码远程SSH登录到目标服务器,
~~~		扫描、试探出远程Linux服务器正确的用户名和密码。
~~~		Hydra是一款开源的、免费的暴力破解工具,是由THC世界著名的黑客组织对外开源的,
~~~		Hydra主要是用于破解Linux服务器、门户网站、数据库、文件服务器等的用户名和密码。
三、Hydra部署安装操作:
### --- 基于CentOS7.x Linux操作系统,
~~~		从0开始构建一套Hydra软件平台,主要是基于MAKE源码编译方式,部署的步骤和方法如下:

~~~		# 从THC官网下载软件包(-c continue断点续传,-P 指定下载目录);
[root@localhost ~]#  wget -c https://www.thc.org/releases/hydra-8.1.tar.gz -P /usr/src/		
[root@localhost ~]#  wget --no-check-certificate https://www.thc.org/releases/hydra-8.1.tar.gz		//这条命令可以下载
[root@localhost ~]#  wget https://github.com/vanhauser-thc/thc-hydra/archive/master.zip			//GitHub地址下载
~~~		# 通过Tar工具对其解压缩(-x extract解压,-z gzip压缩格式,-v verbose详细显示,-f file文件属性);

[root@localhost ~]#  tar -xzvf /usr/src/thc-hydra-master.tar.gz
[root@localhost ~]#  cd thc-hydra-master/
~~~		# 因为Hydra是基于C语言开发的源代码程序,默认是不能被Linux操作系统直接使用的,需借助C编译器将源代码文件编译生成二进制文件,所以需执行源代码软件包部署三个步骤。

[root@localhost ~]# yum install -y libssh* gcc 				                // 提前部署Hydra编译时所需的依赖包、libssh库文件;
~~~		# 预编译;

[root@localhost thc-hydra-master]#  ./configure --prefix=/usr/local/hydra/
Writing Makefile.in ...
now type "make"
~~~		# 编译;

[root@localhost thc-hydra-master]#  make
Now type make install
~~~		# 安装;

[root@localhost thc-hydra-master]#  make install
[root@localhost ~]# ls -l /usr/local/hydra/					// 查看Hydra软件是否部署成功;
  hydra -l admin -p password ftp://[192.168.0.0/24]/		        // 可以查看到hydra的信息说明成功
  hydra -L logins.txt -P pws.txt -M targets.txt ssh
[root@localhost ~]# /usr/local/hydra/bin/hydra -h			    // 查看Hydra工具帮助信息或者版本;
[root@localhost ~]#  cat>>/etc/profile<<EOF					// 将Hydra程序bin目录加入到PATH环境变量中;
export PATH=\$PATH:/usr/local/hydra/bin/					// 执行命令时就不会再使用环境变量了
EOF
[root@localhost ~]# source /etc/profile						// 使其环境变量生效		
[root@localhost ~]# hydra							// 说明我们的环境变量生效了,hydra也部署成功
### --- 基于Hydra工具暴力破解远程Linux服务器:192.168.1.58,

~~~		# 通过用户名和密码字典破解Linux服务器正确的用户名和密码,获取其超级特权权限,
~~~		# 操作的指令如下:
~~~ 攻击端IP:192.168.1.60
~~~ 目标端IP:192.168.1.61
~~~ -L,指定用户名字典文件;
~~~ -P,指定密码字典文件;
~~~ -t,指定并发读取用户名、密码字典线程数;
~~~ -Ssh,指定攻击时使用的协议;
~~~ -vV,显示攻击时的详细过程;
~~~ -s,指定远程目标服务器的试探端口;
~~~ -f,攻击到正确的用户名和密码,即退出。
[root@localhost ~]# hydra -L users.txt -P passwd.txt -t 4 192.168.1.58 ssh -vV -s 22 -f
[22][ssh] host: 192.168.1.58   login: root   password: root		    // 拿到用户名root和密码root
四、设置防御规则抵挡黑客攻击&反攻击实战
### --- 设置防御规则抵挡黑客攻击&反攻击实战

~~~		黑客使用Hydra暴力破解Linux服务器,Linux服务器会做什么反应和操作呢?
~~~		Linux服务器会做如下操作:
~~~		Linux会打开安全日志文件;
~~~		通过安全日志文件记录黑客的IP地址;
~~~		记录黑客攻击时使用的用户名,不会记录密码;
~~~		记录黑客攻击的时间节点,攻击的状态成功or失败。
五、作为运维人员来讲,一旦Linux服务器遭受黑客暴力破解,
### --- 作为运维人员来讲,一旦Linux服务器遭受黑客暴力破解,

~~~		根据服务器的操作、记录做出相应的策略和方法,具体能做哪些操作呢?
~~~		找出Linux安全日志文件名称和位置;
~~~		查找、过滤出黑客的IP地址
~~~		统计、分析哪些黑客攻击次数最高,将其加入到Linux黑名单
~~~		对linux服务器进行漏洞修复和弥补,
~~~		对黑客的IP实施反攻击。
### --- 查找Linux服务器安全日志文件的位置

~~~		# 查找Linux系统打开的安全日志文件路径
~~~		# grep:匹配,-a:以文本方式匹配,-i忽略大小写  -V:反向选择,-E:多个参数,一起匹配
[root@localhost ~]# find / -name "*secure*"			
[root@localhost ~]# find / -name "*secure*"|grep -aivE "docker"													
[root@localhost ~]# find /var/ -name "*secure*"|grep -aivE "docker|man|python|jumpserver"
/var/log/secure
### --- 查找,过滤出黑客的IP地址:

~~~		# 查找,过滤出黑客的IP地址:
~~~		# 关键词:filed password;authentication failure关键词;可能是黑客的ip地址;表示远程ssh远程登录失败
~~~		# 匹配黑客异常登录的IP所在行的内容
[root@localhost ~]# more -14 /var/log/secure	
~~~		# 通过Filed password字段查找黑客主机信息
[root@localhost ~]# grep -aiE "Failed password" /var/log/secure
~~~		# 将黑客的IP匹配出来:
[root@localhost ~]# grep -aiE "Failed password|authentication failure" /var/log/secure* |awk '{print $(NF-3)}' |more
~~~		# OR
[root@localhost ~]# grep -aiE "Failed password|authentication failure" /var/log/secure* |grep -aiowE "([0-9]{1,3}\.){3}[0-9]{1,3}"
### --- 如何将黑客IP访问次数排前20名的IP打印出来:

~~~		# 如何将黑客IP访问次数排前20名的IP打印出来:
~~~		# -o:单独打印给定值	  // 打印登录失败的IP地址
[root@localhost ~]# grep -aiE "Failed password|authentication failure" /var/log/secure* |grep -aiowE "([0-9]{1,3}\.){3}[0-9]{1,3}"|more		
~~~		# sort:逆向排序		 // uniq:去重,-c:去重统计,
[root@localhost ~]# grep -aiE "Failed password|authentication failure" /var/log/secure* |grep -aiowE "([0-9]{1,3}\.){3}[0-9]{1,3}"|sort -n|uniq -c|sort -nr|more
~~~		# 打印前20名的ip地址;  // head -20:排前20的ip;
[root@localhost ~]# grep -aiE "Failed password|authentication failure" /var/log/secure* |grep -aiowE "([0-9]{1,3}\.){3}[0-9]{1,3}"|sort -n|uniq -c|sort -nr|head -20
~~~		# print $2:打印第二列
[root@localhost ~]# grep -aiE "Failed password|authentication failure" /var/log/secure* |grep -aiowE "([0-9]{1,3}\.){3}[0-9]{1,3}"|sort -n|uniq -c|sort -nr|head -20|awk '{print $2}'
### --- 将黑客的IP地址打印出来并加入到黑名单

~~~		# 将黑客的IP地址打印出来并加入到黑名单
~~~		# -A顺序添加,-I指定特定列添加	-s:添加ip列表,
[root@localhost ~]# for ip in $(grep -aiE "Failed password|authentication failure" /var/log/secure* |grep -aiowE "([0-9]{1,3}\.){3}[0-9]{1,3}"|sort -n|uniq -c|sort -nr|head -20|awk '{print $2}');do iptables -t filter -A INPUT -s $ip/32 -m tcp -p tcp --dport 22 -j DROP;done
### --- 查看加入到黑名单的列表的IP地址:

~~~		# 查看加入到黑名单的列表的IP地址:
[root@localhost ~]# iptables -t filter -L -n --line-numbers    
1    DROP       tcp  --  192.168.1.60         0.0.0.0/0           tcp dpt:22 
2    DROP       tcp  --  192.168.1.101        0.0.0.0/0           tcp dpt:22
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值