Security 40

[Dreamhack] simple_sqli

SQL Injection 로드맵을 공부했으면 5초면 풀 수 있는 문제이다. login() 함수를 보면 userid가 admin일 때 로그인을 하면 FLAG가 나온다. 그리고 쿼리는 select * from users where userid="{userid}" and userpassword="{userpassword}" 라고 한다. 나는 주석을 이용한 공격 쿼리를 아이디에 넣고, 비밀번호는 아무거나 입력해줬다. admin"-- 위 쿼리를 넣으면 select * from users where userid="admin"-- " and userpassword="1234" 가 된다. -- 는 주석을 의미하므로 잘못된 비밀번호를 입력해도 -- 뒤는 모두 주석 처리가 되기 때문에 알맞은 쿼리문으로 인식하게 된다.

Security/Write Up 2023.06.04

Modsecurity 설치 및 차단 테스트

실습 환경: Ubuntu 22.04 CLI Modsecurity Modsecurity는 웹 서비스의 공격을 효과적으로 차단할 수 있는 공개 웹 응용 프로그램 방화벽 모듈(WAF) 이다. 웹 서비스를 통해서 공격하는 XSS, SQL Injection, Command Execute와 같은 공격을 효과적으로 차단하는 역할을 수행하며, Apache HTTP Server, Microsoft IIS, NGINX에서도 사용이 가능하다. CVE-2013-5705 취약점이 발견되어 2.6.6 이상 버전을 사용해야 한다. 사용하기 전, Apache2 웹서버를 기반으로 동작하기 때문에 80번 포트를 사용하고 있는 다른 서비스가 있다면 꺼두거나 삭제한다. 1. 설치 sudo apt update sudo apt install ..

Security/Network 2023.06.04

OSSEC 설치 및 설정하기(시나리오)

실습 환경: Virtualbox Ubuntu 22.04 CLI, PuTTY OSSEC(Open Source HIDS SECurity) 오픈 소스 호스트 기반 침입 탐지 시스템으로, 윈도우/리눅스 기반의 보안 로그 및 시스템 정보를 서버와 에이전트를 이용해 수집하는 솔루션이다. 1. 시나리오: Server, Agent에 OSSEC이 작동되고 있고, Agent에 Attacker가 SSH 접속 시도를 한다. 로그를 통해 공격자의 IP를 차단해야 한다. NAT Network를 사용 중인 Ubuntu 가상 머신 3개를 각각 Server, Agent, Attacker용으로 사용한다. 실습은 PuTTY를 이용하여 진행하며, SSH를 이용해 각자의 가상 머신 IP에 원격 접속을 한다. ssh hostname@ip Se..

Security/Network 2023.06.03

[Dreamhack] csrf-2

코드를 먼저 살펴 보자 유저에는 guest와 admin이 있다. admin 으로 로그인하면 플래그를 얻을 수 있다고 한다. 그럼 admin의 비밀번호를 얻어야 한다. 아래는 guest로 로그인했을 때 보이는 화면이다. csrf-1 를 풀었으면 조금만 응용해서 풀 수 있는 문제였다. ["frame", "script", "on"] 문자열이 * 로 치환되는 코드다. csrf-1과 마찬가지로 /vuln 페이지에서 태그를 사용해 서버로 요청해보니 잘 가는 것이 확인된다. (서버는 Dreamhack Tools를 사용했다.) pw 관련 코드는 /change_password 함수에서 볼 수 있었는데, pw 인자에 원하는 값을 주어 바꿀 수 있게 되어 있다. 그래서 공격 코드는 아래와 같이 구성했다. 페이로드를 날린 후..

Security/Write Up 2023.06.02

Suricata 설치 및 설정

실행 환경: Ubuntu 22.04 CLI 1. 설치 sudo apt-get update sudo apt-get install software-properties-common sudo add-apt-repository ppa://oisf/suricata-stable sudo apt-get install suricata sudo suricata --build-info 가끔 sudo apt-get update 에서 오류가 날 때가 있는데, 이 때는 reboot 를 하거나 시간 동기화가 필요하다. 시간 동기화를 위해서는 rdate 명령을 실행하거나 sudo hwclock --hctosys 를 실행한다. 탐지 rule 업데이트 sudo suricata-update 2. suricata 실행 전 HOME_NET ..

Security/Network 2023.06.01

Suricata rule 구조

Suricata rule은 크게 action, header, rule 옵션으로 나눈다. rule header option Action Protocol Src IP Src Port ->/ Dst IP Dst Port Option ex) alert tcp any any -> any 80 (msg:"tistory.com access"; content:"GET /"; content:"Host"; content:"tistory.com"; sid:100001; rev:1;) => tcp 로 접속하는 모든 주소로부터 모든 80번 포트에 도달하는 접속을 경고 발생 및 로그 기록한다. 옵션은 "GET /", "Host", "tistory.com" 내용이 포함될 때 "tistory.com access" 메세지를 남긴다. ..

Security/Network 2023.06.01

[Dreamhack] csrf-1

CSRF 란 클라이언트에서 사용자 권한을 이용해 다른 주소로 HTTP 요청을 보내는 취약점이다. XSS 와의 다른 점은 XSS는 세션과 쿠키 정보를 뺏는 것에 집중하지만, CSRF는 실제 클라이언트 사용자인 것처럼 다른 서버에 거짓 요청을 보낸다는 점이다. 먼저 app.py 파일 분석을 해보면 ["frame", "script", "on"] 문자열이 XSS 필터링되고 있다. 그럼 필터링 되지 않는 img 태그를 써볼 수 있을 것같다. Dreamhack Tools에서 제공해주는 서버로 img 태그를 써보니 GET 요청 성공 app.py 의 FLAG 호출 함수를 보면, /admin/notice_flag 위치에 userid가 admin일 때 memo에 쓰여지는 것을 알 수 있다. /flag 페이지에 쿼리 스트링..

Security/Write Up 2023.05.31

[Dreamhack] XSS Filtering Bypass

필터링 우회를 이용한 XSS 문제이다. 내가 제일 좋아하는 xss 필터링 우회 리스트를 모아둔 깃허브 주소이다. https://gist.github.com/seo1-say/4c68e83069d7269e6e7e2c994e1fcf92 XSS Filter Bypass List XSS Filter Bypass List. GitHub Gist: instantly share code, notes, and snippets. gist.github.com 먼저 app.py 를 보면 다음과 같은 함수가 있다. "script", "on", "javascript" 문자열이 있을 경우, 위 문자열을 없애는 필터링이 존재한다. vuln 페이지에서 대문자 SCRIPT 문자열은 돌아간다는 것을 확인했다. 내가 사용할 코드는 다음과 ..

Security/Write Up 2023.05.30

VirtualBox NAT Network 원리와 설정하기

우리는 리눅스 실습을 위해 보통 가상 머신이라는 것을 설치하여 이용한다. 이 가상 머신에 리눅스를 설치하여 실제 리눅스 운영 체제를 사용해 볼 수 있는데, 그렇다면 내 컴퓨터 안의 가상 머신까지 네트워크가 어떻게 도달하게 되는걸까? 가상 머신의 NIC(Network Interface Card)는 논리적인 장치이다. 그래서 연결도 실제 연결이 아닌 논리적인 연결이 필요하다. 가상 머신 내에 가정에 하나씩 있는 공유기처럼 가상의 소프트웨어 공유기(DHCP Server)가 실행된다. 이 공유기로부터 가상 서버들이 각각 IP를 할당받을 수 있게 된다. VirtualBox Host-Only Network 드라이버가 가상의 공유기 역할을 해준다. IP 주소를 가상 서버마다 할당 받아서 가상 머신 내의 통신도 가능하..

Security/Network 2023.05.26
728x90