NoSQLMap 설치하는법
https://github.com/codingo/NoSQLMap에 나와있는데로 따라하면 된다.
NoSQLMap의 기능
NoSQLMap을 시작하면 나오는 화면이다. 1번을 선택하면 옵션을 세팅할수있다. 1번을 한번 선택해보자.
여러가지 옵션들을 세팅할 수 있다. 일단 1번을 보면 타겟의 호스트나 IP를 설정할 수 있다. 공격하려는 대상 웹서버나 MongoDB의 host나 IP를 세팅해주면 된다. 2번은 웹 어플리케이션 포트를 설정하는 것인데 웹 어플리케이션이 공격하려는 대상인 경우에 웹 어플리케이션의 TCP포트를 설정해준다. 그리고 3번은 URI 경로설정이다. 페이지 이름과 매게 변수를 포함하지만 호스트 이름이 아닌 URI의 일부를 적는곳이다. 예를들면 /app/acct.php?acctid=102같은게 있다. 4번은 HTTPS를 켜고 끄는것이다. 4번 같은 경우에는 꺼져있을 경우 치면 켜지고 반대로 켜져있을때 치면 꺼진다. 5번은 MongoDB의 포트를 설정해주는 것이고 6번은 HTTP요청 방법을 설정한다. 7번은 로컬 MongoDB랑 Shell의 IP를 설정하는 것이다. MongoDB 인스턴스를 대상 Mongo 설치의 IP로 직접 공격하여 대상 데이터베이스를 복제하거나 Meterpreter 셸을 열려면 이 옵션을 설정하면된다. 8번은 쉘 listner 포트를 설정하는 것이다. Meterpreter 셸을 여는 경우 포트를 설정하면 된다. 9번은 Verbose mode를 끄고 켜는 것이다.
이제 Scan for Anonymous MongoDB Access에 대해 알아보자. NoSQL DB Access Attacks과 NoSQL Web App attacks은 그냥 누르면 아까 설정했던 곳으로 공격이 실행되는것이라 딱히 볼게 없다. Scan for Anonymous MongoDB Access를 사용하기 위해 4번으로 들어가면 위의 화면처럼 뜬다. 이건 근데 언어 그대로 누르기만 하면 된다.
마지막으로 Change Platform (Current: MongoDB)를 한번 들어가보자. 들어갔더니 아직은 저거 두개밖에 지원을 안하는것같다. CouchDB로 바꾸고 세팅을 들어가면 바껴있을까 궁금해서 한번 해보았다.
MongoDB에서 바껴있다. 그래도 벌써 두개나 지원하는게 좋은것같다. 일단 이렇게 기본적인 기능만 겉핥기식으로 봤다. 나중에 직접 MongoDB를 기반으로 만들어서 거기 공격을 해보는걸 포스팅 해야겠다.
참고자료
https://www.darknet.org.uk/2017/08/nosqlmap-automated-nosql-exploitation-tool/
https://github.com/codingo/NoSQLMap