#20250117

도메인 : basic.st.kr
basic 계정 생성 후 사이트 작동 조치
basic.zip 이용

bookmarket.st.kr
bookmarket 계정 생성 후 사이트 작동 조치
bookmarket.zip 이용



취약점 탐색

Hacker > nikto -host basic.st.kr
로 공격 하면 존재하는 디렉터리가 유출된다.


이를 통해 웹으로 basic.st.kr/디렉터리명/ 이렇게 접속해보면, 디렉터리 리스트가 뜬다.


이를 막기 위하여
> nano /etc/apache2/sites-available/hosing.conf
<Directory "/home/basic/public_html">    Options None </Directory>


추가해준다.
그러면 Forbidden이 뜨면서 접근이 차단 된 것을 확인할 수 있다.


하지만 이곳에 apache2 버전이 뜬다.
이것을 막기 위해
> nano /etc/apache2/conf-available/security.conf
ServerSignature On -> Off

수정해주고 웹에서 확인해보면 아파치 버전부분이 사라진 것을 확인할 수 있다.




칼리에서 brupsuite 프로그램을 이용하여 basic.st.kr bruteforce 공격하기.
brupsuit 접속 > proxy > open webbrowser - basic.st.kr 접속 > Intercept On > 웹에서 로그인 > brupsuite로 넘어온 코드 확인 > Http History 이동 > 로그인 했던 페이지 확인, 우클릭 > send to intruder



> id 수정 후 password 값 변수처리


> payloads - simple list에 대입할 값 추가 > start attack


> 대입 결과 확인.
비밀번호가 맞지 않을 때와 맞을때의 반응하는 값의 길이(Length)가 확연히 다르다. 이를 통해 123456이 알맞은 값이다는 것을 짐작할 수 있다.





해커에서 dvwa.st.kr의 계정 패스워드를 변경한다.

이 공격의 전제조건은, 관리자가 웹에 로그인한 상태여야 한다.
그리하여 해커는 그 세션정보를 이용하여 접근 후 비밀번호를 변경한다.

Win7
dvwa.st.kr 로그인 > security level : low
CSRF로 이동.
F12 (개발자모드) 켜서 Network로 이동.
그 상태에서 새로고침 하면 로딩되는 소스(sourse)들이 뜬다.
그 중 csrf/ 를 클릭하여 나타나는 정보들 중 Cookie: 를 확인한다.


kali에서 공격에 이용할 html 문서 만들기.
[csrf.html]



서버와 Win7이 연결된 세션 값을 해커가 얻은 후 그 값을 이용하여 csrf.html을 서버로 보내면, 서버 입장에서는 세션값이 같은 관리자가 접속한 것으로 인지하는 것을 이용하여 공격한다.

brupsuite의 웹 > csrf.html 끌어놓기.
intercept on으로 돌리고 LINK 클릭.



brupsuite에 로딩된 소스코드를 수정한다.
패스워드를 변경 할 것이기 때문에, 패스워드 부분을 수정해주고, 세션값을 추가해준다. (사진에서는 위와 다른 세션값임.)


이 다음 Forword를 눌러주면 페이지가 넘어가며 정상적으로 패스워드가 변경된다.

DB에서 비밀번호가 변경되었는지 확인한다.
password 부분이 해시값으로 되어있기 때문에, 파이썬을 이용하여 해커가 변경한 비밀번호의 해시값을 구한 뒤 DB의 내용과 비교한다.

[python]
import hashlib
md5=hashlib.md5()
md5.update("123456".encode())
print(md5.hexdigest())


동일한 값을 확인.
즉. 패스워드가 해커에 의해서 관리자도 모르게 변경된 것을 확인할 수 있다.