일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 28 | 29 | 30 | 31 |
- 가상머신 os
- Union SQL Injection
- UTM
- Error Based SQL Injection
- M2
- sqli
- blind SQLi
- Kail Linux
- LOS 5번
- utmp
- MySQL
- Python requests 설치
- SQLi wargame
- ModuleNotFoundError: No module named ‘requests’
- XAVIS
- docker compose
- ubuntu
- 1819 (HY000):
- Lord of SQL Injection
- goblin 3번
- No module named ‘requests’
- btmp
- str_replace함수
- 2002(HY000)
- 우분투
- los.rubiya.kr
- mocOS
- Lord of SQLinjection
- sql injection
- SQL i
- Today
- Total
klaus
[KDT-DAY_8] Linux (feat. 커널 업그레이드_1차) 본문
centos /ubuntu/ BT
==> promisc mod를
wireshark 툴
내부 통신 일 때 (LAN)
- ARP프로토콜을 사용하여 통신중
- S/W 아래 OS 3개가 있는데 BT를 통해 centos와 ubuntu
- IP를 통해 통신을 하는 것보다 ARP를 통해 MAC주소로 변환여 통신한다.
- RARP : IP주소가 없는 상황(OS X )
외부 통신
-GW를 통해 밖으로 나가게 됨
네이버
AAAA ipv6
- ip 주소를 확인 할 수 있다.
==> http://223.130.195.95/ 를 알수 있다. (네이버)
메타
msfadmin / msfadmin
sudo su
passwd root
rootoor
nano /etc/network/interfasce
ifconfig
serviec networking restart
서비스가 안될 때 /etcinit.d/networking restart
[+] host
host -v 문자열 과정
로컬에서는 호스트끼리는 MAC 주소로 통신하기 때문에 사람이 IP주소로 통신하더라도 내부적으로
IP_addr=>MAC_addr로 변환해주는 ARP 프로토콜로 서로 인식하게 된다.
인터넷(외부)로 나가는 게이트웨이도 로컬 LAN에 속한다.
==> 내부에서 외부로 나가기 위해서는 게이트웨이를 통해야 하는데 내부 호스트들은 게이트웨이의 MAC주소를 알고 있어야 한다.
MAC주소는 48Bits의 Hard cored된 물리적 주소 (공장에서 만들어진 변경 X )
IP 주소는 32Bits의 S/W의 이론적인 주소로 언제든 변경 가능
==> 하지만 MAC 주소를 임의적으로 변경할 수도 있다.
[+]MAC주소 변경
ifconfig eth0 down
ifconfig eth0 hw ether [aa:bb:cc:dd:ee:ff MAC주소(임의로)]
ifconfig eth0 up
ping 192.168.100.131로 핑을 보냈을 때
131(centos)에서 arp -a를 통해 접속중인 MAC이 변경된 것을 알 수 있다.
Macchanger라는 도구를 사용하여 MAC주소를 변경할 수 있는 취약점이 있다.
[+]
보안적으로 중요한 서버나 장치의 MAC주소가 변경되지 않게 static으로 해주어야 한다.
arp -i [NAC] -s [IP] [MAC add]
rc.local 사용하려면 해당 페이지에는 지시만 기록!!
실제 내용은 따른 파일에 저장하여 불러오도록한다
작성 :
확장명 /파일위치 으로 작성
예 ) python /home/centos/abc/asd.py 파일로
chmod +x ifcon.sh으로 실행 권한을 줌
chmod +x /etc/rc.d/rc.local
단, static 옵션을 줄 경우 변경 불가
[+]/etc/sudoers파일
2. 커널(Kernel)
리눅스 운영체제의 핵심
시스템 리소스를 하드웨어와 소프트웨어에게 할당하고 관리하는 역할을 한다.
커널종류 | 위치 | 설명 | 특징 |
모듈라(modular) | /lib/modules | 용량이 큰 프로그램 (외부 HDD) | 느리다. |
monolithic | 용량이 작은 프로그램 (내부 mem) | 빠르다. | |
microkernel |
https://namu.wiki/w/%EC%BB%A4%EB%84%90(%EC%9A%B4%EC%98%81%20%EC%B2%B4%EC%A0%9C)
lsmod 명령어
메모리에 실행되고 있는 내용 확인 가능
lsmod |grep cdrom
insmod 명령어
커널에 새로운 묘듈을 올릴 때 사용
insmod /lib/modules/3.10.0-1160.el7.x86_64/kernel/drivers/cdrom/cdrom.ko.xz
modprobe(탐침) 명렁어
일괄적으로 올릴 때에는 /etc/modprobe.d 내용을 수정
rmmod 제거 / modprobe -r (종속성 제거)
[실습]
[+] 컴파일(COMPILE)의 개념은 보통 두가지로 해석이 된다.
- Kernel complie : H/W 컴파일 리눅스 버전(커널)을 올리는 작업
- Software complie : 어느 소프트웨어를 디폴트로 설치하지 않고 다른 소프트와 연계해서 환경설정을 해서 설치하는 방법
예) AMP == Apache, mysql, php와 같은 웹 개발을 말한다.
[+] 커널 업그레이드
1) 다운로드 받아 직접 설치
- 현 시스템의 커널 버전 확인
- uname -a 를 사용하여 현 시스템의 커널 버전 확인
- 커널 사이트에서 4.10.10 버전을 다운받아 설치
https://mirrors.edge.kernel.org/pub/linux/kernel/
[+] 커널 다운로드 및 묶음(tar)/압축(gz) 해제
터미널을 통해 다운로드
wget --no-check-certificate [http://] 명령어 (웹에서 다운로드)
https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.10.12.tar.gz
컴파일도 설치
yum -y install gcc-c++
커널 설치
tar xvfz linux-4.10.10.tar.gz
~.tar.gz로 끝나는 파일은 tarball source라고 부르며 리눅스에 특화된 파일
==> tar로 파일을 묶고 gz로 압축되어 있다.
[+]커널 구성
[TUI]
yum -y install ncurses-devel
system v ==> UNIX
[GUI] yum -y install qt-devel
- 저장된
앞에서 생성한 커널의 정보를 가지고 있는 .config파일을 기반으로 해서 /usr/src/linux
[에러] 커널 설치시 openssl/error
ls arch/x86/boot/
ls -l /usr/src/linux/arch/x86/boot/
make modules
make modules_install
인스톨이 완료가 되면
ls /lib/modules
mkinitrd /boot/mykernel.img 4.10.10 & ls /boot/
(확인) nano -c makefile
839번쯤의 주석이 되어 있다면 주석을 풀어 정상 작동하도록 한다.
- 인스톨 패치는 업되이트된 커널 및 시스템 맵 # 이미지
make install
cat /etc/grub2.cfg
해당 파일에 4.10.10 버전이 있는 지 확인
shutdown -r now
부팅될 때 4.10.10이 있는 것을 확인 할 수 있다.
2) yum -y install ncurses-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel qt-devel
yum -y install gcc-c++
'수업 > KDT' 카테고리의 다른 글
[KDT-DAY_10] Linux (feat.명령어) (0) | 2023.01.06 |
---|---|
[KDT-DAY_9] Linux (feat. 커널, Xwin) (0) | 2023.01.05 |
[KDT-DAY_7] 원격접속(GUI), Linux setting (0) | 2023.01.03 |
[KDT-DAY_6] Linux (feat. 파티션, 원격 접속(putty)) (2) | 2023.01.02 |
[KDT-DAY_5] Linux (0) | 2022.12.30 |