那什么,额不是最近国庆吗?由于疫情的缘故,咱们都在家中,但发生了这么一件事,看到标题你应该知道是什么了,我被黑了!!!咳咳咳,不能说是被黑了,只能说是我下载了一个后门软件,对后门软件,好比说灰鸽子,流光这种,那边的黑客远程控制了我,我知道,这是最基础的软件了。可是我仍是中了,最后,个人帐号,密码都被盗取。很难受对吧,因此我写个这个文章。html
很容易,不去下载就行了。哎,你这不是废话吗?咳咳,最好的方法,360。360?你在说什么?360不是毒瘤吗?360云大脑知道吗?虽然这个东西常常抽风,说这个是木马,那个是病毒。可是不去理就行了。否则你可试试不装360会怎么样,首先,咱们要知道360的重要性,否则你能够换成卡巴斯基。咳咳,进入正题前端
360你不会装吗?笨蛋,本身找教程。python
第二种方法开始。rootkit据说过吗?没有就百度去linux
文件级别的rootkit通常是经过程序漏洞或者系统漏洞进入系统后,经过修改系统的重要文件来达到隐藏本身的目的。在系统遭受rootkit攻击后,合法的文件被木马程序替代,变成了外壳程序,而其内部是隐藏着的后门程序。一般容易被rootkit替换的系统程序有login、ls、ps、ifconfig、du、find、netstat等,其中login程序是最常常被替换的,由于当访问Linux时,不管是经过本地登陆仍是远程登陆,/bin/login程序都会运行,系统将经过/bin/login来收集并核对用户的帐号和密码,而rootkit就是利用这个程序的特色,使用一个带有根权限后门密码的/bin/login来替换系统的/bin/login,这样攻击者经过输入设定好的密码就能轻松进入系统。此时,即便系统管理员修改root密码或者清除root密码,攻击者仍是同样能经过root用户登陆系统。攻击者一般在进入Linux系统后,会进行一系列的攻击动做,最多见的是安装嗅探器收集本机或者网络中其余服务器的重要数据。在默认状况下,Linux中也有一些系统文件会监控这些工具动做,例如ifconfig命令,因此,攻击者为了不被发现,会千方百计替换其余系统文件,常见的就是ls、ps、ifconfig、du、find、netstat等。若是这些文件都被替换,那么在系统层面就很难发现rootkit已经在系统中运行了。c++
这就是文件级别的rootkit,对系统维护很大,目前最有效的防护方法是按期对系统重要文件的完整性进行检查,若是发现文件被修改或者被替换,那么极可能系统已经遭受了rootkit入侵。检查件完整性的工具不少,常见的有Tripwire、 aide等,能够经过这些工具按期检查文件系统的完整性,以检测系统是否被rootkit入侵。程序员
内核级rootkit是比文件级rootkit更高级的一种入侵方式,它可使攻击者得到对系统底层的彻底控制权,此时攻击者能够修改系统内核,进而截获运行程序向内核提交的命令,并将其重定向到入侵者所选择的程序并运行此程序,也就是说,当用户要运行程序A时,被入侵者修改过的内核会伪装执行A程序,而实际上却执行了程序B。shell
内核级rootkit主要依附在内核上,它并不对系统文件作任何修改,所以通常的检测工具很难检测到它的存在,这样一旦系统内核被植入rootkit,攻击者就能够对系统随心所欲而不被发现。目前对于内核级的rootkit尚未很好的防护工具,所以,作好系统安全防范就很是重要,将系统维持在最小权限内工做,只要攻击者不能获取root权限,就没法在内核中植入rootkit。ubuntu
chkrootkit是一个Linux系统下查找并检测rootkit后门的工具,它的官方址: www.chkrootkit.org/。 chkrootkit没有包含在官方的CentOS源中,所以要采起手动编译的方法来安装,不过这种安装方法也更加安全。下面简单介绍下chkrootkit的安装过程。windows
对于CentOS系统,须要安装gcc编译环境,执行下述三条命令:浏览器
yum -y install gcc
yum -y install gcc-c++
yum -y install make
# 安装gcc,g++,CMake
复制代码
为了安全起见,建议直接从官方网站下载chkrootkit源码,而后进行安装,操做以下:
tar zxvf chkrootkit.tar.gz
cd chkrootkit-*
make sense
# 注意,上面的编译命令为make sense
复制代码
安装完的chkrootkit程序位于/usr/local/chkrootkit目录下,执行以下命令便可显示chkrootkit的详细用法:
/usr/local/chkrootkit/chkrootkit -h #显示帮助信息
复制代码
chkrootkit各个参数的含义以下所示。
命令 | 做用 |
---|---|
-h | 显示帮助信息 |
-v | 显示版本信息 |
-ddebug | ddebug模式,显示检测过程的相关指令程序 |
-q | 安静模式,只显示有问题的内容 |
-x | 高级模式,显示全部检测结果 |
-r | dir设置指定的目录为根目录 |
-p | dir1:dir2:dirN指定chkrootkit检测时使用系统命令的目录 |
-n | 跳过NFS链接的目录 |
chkrootkit的使用比较简单,直接执行chkrootkit命令便可自动开始检测系统。下面是某个系统的检测结果:
[root@server chkrootkit] # /usr/local/chkrootkit/chkrootkit
Checking ` ifconfig '... INFECTED
Checking ` ls '... INFECTED
Checking `login'... INFECTED
Checking ` netstat '... INFECTED
Checking ` ps '... INFECTED
Checking ` top '... INFECTED
Checking `sshd'... not infected
Checking `syslogd'... not tested
Checking ` tar '... not infected
Checking `tcpd'... not infected
Checking `tcpdump'... not infected
Checking `telnetd'... not found
复制代码
从输出能够看出,此系统的ifconfig、ls、login、netstat、ps和top命令已经被感染。针对被感染rootkit的系统,最安全而有效的方法就是备份数据从新安装系统
4. chkrootkit的缺点
chkrootkit在检查rootkit的过程当中使用了部分系统命令,所以,若是服务器被黑客入侵,那么依赖的系统命令可能也已经被入侵者替换,此时chkrootkit的检测结果将变得彻底不可信。为了不chkrootkit的这个问题,能够在服务器对外开放前,事先将chkrootkit使用的系统命令进行备份,在须要的时候使用备份的原始系统命令让chkrootkit对rootkit进行检测。这个过程能够经过下面的操做实现:
[root@server ~] # mkdir /usr/share/.commands
[root@server ~] # cp `which --skip-alias awk cut echo find egrep id head ls netstat ps strings sed uname` /usr/share/.commands
[root@server ~] # /usr/local/chkrootkit/chkrootkit -p /usr/share/.commands/
[root@server share] # cd /usr/share/
[root@server share] # tar zcvf commands.tar.gz .commands
[root@server share] # rm -rf commands.tar.gz
复制代码
上面这段操做是在/usr/share/下创建了一个.commands隐藏文件,而后将chkrootkit使用的系统命令进行备份到这个目录下。为了安全起见,能够将.commands目录压缩打包,而后下载到一个安全的地方进行备份,之后若是服务器遭受入侵,就能够将这个备份上传到服务器任意路径下,而后经过chkrootkit命令的"-p"参数指定这个路径进行检测便可。
RKHunter是一款专业的检测系统是否感染rootkit的工具,它经过执行一系列的脚原本确认服务器是否已经感染rootkit。在官方的资料中,RKHunter能够做的事情有:
RKHunter的官方网页地址为:www.rootkit.nl/projects/ro… 建议从这个网站下载RKHunter,这里下载的版本是rkhunter-1.4.0.tar.gz。RKHunter的安装很是简单,过程以下:
[root@server ~] # ls
rkhunter-1.4.0\. tar .gz
[root@server ~] # pwd
/root
[root@server ~] # tar -zxvf rkhunter-1.4.0.tar.gz
[root@server ~] # cd rkhunter-1.4.0
[root@server rkhunter-1.4.0] # ./installer.sh --layout default --install
复制代码
这里采用RKHunter的默认安装方式,rkhunter命令被安装到了/usr/local/bin目录下。
使用rkhunter指令
rkhunter命令的参数较多,可是使用很是简单,直接运行rkhunter便可显示此命令的用法。下面简单介绍下rkhunter经常使用的几个参数选项。
[root@server ~]#/usr/local/bin/rkhunter–help
Rkhunter经常使用参数以及含义以下所示:
参数 | 含义 |
---|---|
--c, --check | 必选参数,表示检测当前系统 |
--configfile | 使用特定的配置文件 |
--cronjob | 做为cron任务按期运行 |
--sk, --skip-keypress | 自动完成全部检测,跳过键盘输入 |
--summary | 显示检测结果的统计信息 |
--update | 检测更新内容 |
-v, --version | 显示版本信息 |
--versioncheck | 检测最新版本 |
下面是经过rkhunter对某个系统的检测示例:
[root@server rkhunter-1.4.0] # /usr/local/bin/rkhunter -c
[ Rootkit Hunter version 1.4.0 ]
# 下面是第一部分,先进行系统命令的检查,主要是检测系统的二进制文件,由于这些文件最容易被rootkit攻击。显示OK字样表示正常,显示Warning表示有异常,须要引发注意,而显示“Not found”字样,通常无需理会
Checking system commands...
Performing 'strings' command checks
Checking 'strings' command [ OK ]
Performing 'shared libraries' checks
Checking for preloading variables [ None found ]
Checking for preloaded libraries [ None found ]
Checking LD_LIBRARY_PATH variable [ Not found ]
Performing file properties checks
Checking for prerequisites [ Warning ]
/usr/local/bin/rkhunter [ OK ]
/sbin/chkconfig [ OK ]
....(略)....
[Press <ENTER> to continue ]
# 下面是第二部分,主要检测常见的rootkit程序,显示“Not found”表示系统未感染此rootkit
Checking for rootkits...
Performing check of known rootkit files and directories
55808 Trojan - Variant A [ Not found ]
ADM Worm [ Not found ]
AjaKit Rootkit [ Not found ]
Adore Rootkit [ Not found ]
aPa Kit [ Not found ]
Apache Worm [ Not found ]
Ambient (ark) Rootkit [ Not found ]
Balaur Rootkit [ Not found ]
BeastKit Rootkit [ Not found ]
beX2 Rootkit [ Not found ]
BOBKit Rootkit [ Not found ]
....(略)....
[Press <ENTER> to continue ]
# 下面是第三部分,主要是一些特殊或附加的检测,例如对rootkit文件或目录检测、对恶意软件检测以及对指定的内核模块检测
Performing additional rootkit checks
Suckit Rookit additional checks [ OK ]
Checking for possible rootkit files and directories [ None found ]
Checking for possible rootkit strings [ None found ]
Performing malware checks
Checking running processes for suspicious files [ None found ]
Checking for login backdoors [ None found ]
Checking for suspicious directories [ None found ]
Checking for sniffer log files [ None found ]
Performing Linux specific checks
Checking loaded kernel modules [ OK ]
Checking kernel module names [ OK ]
[Press <ENTER> to continue ]
# 下面是第四部分,主要对网络、系统端口、系统启动文件、系统用户和组配置、SSH配置、文件系统等进行检测
Checking the network...
Performing checks on the network ports
Checking for backdoor ports [ None found ]
Performing checks on the network interfaces
Checking for promiscuous interfaces [ None found ]
Checking the local host...
Performing system boot checks
Checking for local host name [ Found ]
Checking for system startup files [ Found ]
Checking system startup files for malware [ None found ]
Performing group and account checks
Checking for passwd file [ Found ]
Checking for root equivalent (UID 0) accounts [ None found ]
Checking for passwordless accounts [ None found ]
....(略)....
[Press <ENTER> to continue ]
# 下面是第五部分,主要是对应用程序版本进行检测
Checking application versions...
Checking version of GnuPG[ OK ]
Checking version of OpenSSL [ Warning ]
Checking version of OpenSSH [ OK ]
# 下面是最后一部分,这个部分实际上是上面输出的一个总结,经过这个总结,能够大概了解服务器目录的安全状态。
System checks summary
=====================
File properties checks...
Required commands check failed
Files checked: 137
Suspect files: 4
Rootkit checks...
Rootkits checked : 311
Possible rootkits: 0
Applications checks...
Applications checked: 3
Suspect applications: 1
The system checks took: 6 minutes and 41 seconds
复制代码
在Linux终端使用rkhunter来检测,最大的好处在于每项的检测结果都有不一样的颜色显示,若是是绿色的表示没有问题,若是是红色的,那就要引发关注了。另外,在上面执行检测的过程当中,在每一个部分检测完成后,须要以Enter键来继续。若是要让程序自动运行,能够执行以下命令:
[root@server ~]# /usr/local/bin/rkhunter --check --skip-keypress
复制代码
同时,若是想让检测程序天天定时运行,那么能够在/etc/crontab中加入以下内容:
30 09 * * * root /usr/local/bin/rkhunter --check --cronjob
复制代码
这样,rkhunter检测程序就会在天天的9:30分运行一次。
windows自带的防火墙windows Defender,在
中,开启便可。可是默认是开启的,反正检查一下看看有没有开启,有些软件能够关闭防火墙,检查一下就对了!
没错,又是360,我的认为360的防火墙还能够,下载独立版的就行了,链接一下云大脑,简直是浪的飞起,虽然并无什么卵用,定时检查一下端口就行了,我这种前端开发的,看的就是端口,wifi的近期使用状况,谁在用wifi,什么手机,电脑在用,看的就是这个,因此这个防火墙很好的解决了个人问题,天然我就推荐了。主要是咱们这些开发者使用,推荐一下。
GlassWire是windows下的一款软件,对windows的,界面很美观,很简洁就像这样 这是切换中文的图片。你不会想到这是windows下的软件,它太简洁了!因此我强推这款软件,一个字"好!"
Firewall App Blocker 超级简单易用的bai限制软件访问网络的防火墙:
对于大多数用户,Windows自带的防火墙虽然实用但并无好好利用起来,主要是由于设置略显繁琐。使用 Firewall App Blocker (Fab) 来禁止应用联网变得超级简单方便。用户只需将须要限制的应用程序添加到软件的列表里便可,勾选状态下为禁止联网,取消勾选能够临时容许联网,就是这么简单。
这个软件很好用的,它最大的好处是解决了Windows自带防火墙的难用问题。也推荐。可是界面没有GlassWire那么好看。
也许你会说:“为何只有windows的软件?MAC的去哪里了?”个人回答是,你也不本身去数落数落MAC的防护力,不说是木马了,来个顶级黑客攻进去也要费不少时间!至于Linux的,或许你已经看过了,就不用我来讲了,若是你想秀技术,来个反黑客我没意见。若是你真的黑成功了,那你能够作什么呢?等着网警来找你?不要无罪变有罪了。
这个方法很绕,若是实在是听不下去就别听了(博主的衷心劝告),最后一种方法是反黑客后门软件,前言很少说,直接进入正题
立刻进入正题!
后门程序是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。通常在软件开发时,程序员会在软件中建立后门程序,这样就能够修改程序设计中的缺陷。可是,若是这些后门被其余人知道,或是在发布软件以前没有删除后门程序,那么它就成了安全风险,容易被黑客当成漏洞进行攻击。通俗的讲,后门程序就是留在计算机系统中,供某位特殊使用者经过某种特殊方式控制计算机系统的途径。
(1)任何一款的远程控制技术都必须与目标(被控端)创建至少一个TCP或者UPD链接。若是黑客未上线,则会每隔30秒向黑客发起链接请求。
**(2)任何一款远控木马都会向系统写入至少一个随机启动项、服务启动项,或者劫持某个系统必备的正常启动项。而且会在某个目录中隐、释放木马。以方便随机启动。
最简单的方法就是经过两条命令,一条是“netstat “ 。另外一条就是“tasklist “命令,这两条命令可真为是绝配的反黑客远控的方法啊。首先咱们就在虚拟机中测试,在本机使用灰鸽子主控端生成一个木马放入到虚拟机中运行。
netstat # 在cmd,powershell,Git等终端中运行,直接监听端口 tasklist # 查看全部程序的占用端口
确认虚拟机已经中了咱们的远控木马以后咱们开始执行第一条命令,首先你们先在联网的状况,把全部联网的程序都关闭,包括杀毒软件、QQ、迅雷、等存在联网的程序关闭,保存最原始的进程。这样很方便咱们识别。再次打开开始菜单——运行——输入“cmd”。进入到黑色的DOS窗口下,输入命令“netstat -ano“。这条命令的意思是查看当前网络的链接状态。输入以后咱们查看中主要看”state”的状态,若是是“listenning”是端口的监听这个能够放心,若是是“ESTABLISHED”可要注意了,这个状态意思是正在链接!咱们确定会想,咱们都没开任何程序在联网,何来正在与远程主机链接呢?下面是中了远程控制木马的虚拟机中网络链接状态。
此时捕捉到正在链接的状态的最后一行PID值为:3920,这就是咱们说的远控至少与目标创建一个TCP或UDP链接,而这里创建了一个TCP链接,而且仔细看下,“Foregin Address”意思是外网地址,这个IP地址能够百度进行查询下就能够知道是哪一个地区的人在控制咱们的电脑,再仔细看下IP地址后面的端口为:8000,如今不少主流的远程软件都是8000或者80端口,这又更值得怀疑了。这样咱们就能够查看进程,由于木马要想进行链接就一定会在内存中进行运行,不然就没法进行链接了,咱们查看内存中可疑的进程,上面捕获的链接PID为:3920。咱们输入命令“tasklist /svc“这条命令是查看当前进程与PID值和启动的服务。
经过上面的命令找到了网络链接对应的PID值进程3920,而且发现该进程名是一个IE的进程,很明显这就有问题,由于咱们根本没打开浏览器,何来IE进程呢?果断的就知道它的一个远程控制木马假装的进程。咱们应该立刻去进行一个查杀掉该进程,从内存中干掉它。咱们输入命令“taskkill /f /pid 3920” 这条命令是强制结束PID值为3920的进程。当咱们强制结束掉了木马以后发现主控端远程控制软件上的肉鸡立刻就下线了。这样黑客就没法进行控制了。
在这里说明,咱们只是暂时如今已经让黑客没法控制咱们的电脑,结束了它的远程控制的链接程序。可是咱们要知道远程控制的第二个通性,就是远程控制软件为了让对方可以重启系统后继续在黑客的远控软件上面上线,就必须会在被控者的电脑上写入一个随机启动项,这个随机启动项就是当系统启动的时候立马运行木马,运行了木马就能够再次上线。因此咱们还须要检测咱们的启动项。不少启动项都是写入注册表的,咱们这里给你们列出一些木马可能写入的启动键值。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 下的shell键值 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows 下的load键值**
*** 在CMD下切换到该目录下进程一个强制删除吧,切换到目录后输入命令“del /ah /f svchot.exe “ 就能够强制删除隐藏的木马了。** 2. 此时咱们把隐藏的以服务启动的木马干掉了,你能够去中止服务,或者经过sc delete 去删除服务,这里就很少讲了,由于服务启动的木马已经被干掉了,即便服务存在也没法找到启动程序了。咱们这里将虚拟机重启下,再查看下网络链接是否还会与黑客创建TCP远程控制链接呢?
这两个工具分别是icesword(中文:冰刃)和SSM软件。第一个软件主要是应对一些DLL进程注入或者是存在Rootkit的木马,所谓的Rootkit就是隐藏的意思,这样的木马有隐藏网络链接状态、隐藏进程的功能。可是使用iceword查看就能查看到这种内核级隐藏的木马。例以下面就是GHOST木马的DLL注入,它是经过DLL注入到svchost.exe进程的,从icesword就能够找到可疑的dll模块。
而且你们都说”Svchost.exe“若是与外界的IP链接就确定是被控制了,这是有道理的。由于如今的远控好比ghost、白金远控就是会有这种现象就是DLL注入到“svhochst.exe“进程进行控制的,因此会有链接,通常来讲“svchost.exe“除了在微软更新的时候可能存在与美国IP的链接,可是其它时候都不会存在与外界进行IP链接的。经过360的网络链接就能够直接看的出来。
icesword里面的进程都是黑色显示的,若是出现有红色的进程,通常都是运用了内核级的rootkit技术的木马。这样的木马经过任务管理器或者tasklist /svc 通常都是查看不到进程的,可是用冰刃却能够很快的查看到。
icesword的软件很强大这里就很少说了,上面已经举例说了。下面说下SSM工具的使用,首先我先在虚拟机里面安装下这个软件吧。而且开启这个软件,开启这个软件后只要咱们运行任何一个程序都会报警说明软件执行了什么动做!这里咱们将一个灰鸽子远控木马拷贝进到咱们的虚拟机,当咱们点击远控木马的时候SSM立刻就报警了,提示程序启动,这个动做是正常的,由于该程序须要explorer图形化程序进程启动的。
当咱们运行以后会发现,这时候程序忽然来了一个注册表修改的动做,懂注册表的都知道这个就是向HKLC\System\CurretcontrolSet\services里面写入服务。这个就不太正常了,不是安装什么程序,一个简单的程序竟然写入服务,增长服务,可疑!
当咱们容许这次操做的时候,你会发现不停的会向注册表写入服务键值,这个确定就是个可疑的动做,最后发现木马又释放了程序到系统目录。照理说一个执行程序不会随意释放程序到系统目录,可疑!
此容许发现最后一步又有一个进程尝试注入到IE里面进行以IE后台启动木马,很明显就能分析出就是个可疑的木马程序,极可能就是后门木马,它有写入服务的这一通性!经过SSM的拦截程序动做就能够分析一个程序是否是绑有后门木马。
以上就是我分享的反黑客教程,但愿能够帮助你😉
最后,小编想说:我是一名python开发工程师, 整理了一套最新的python系统学习教程, 想要这些资料的能够关注私信小编“01”便可(免费分享哦)但愿能对你有所帮助.