CentOS-6.5-x86_64-minimal.iso를 설치하면 기본적으로 SSH가 설치되어 있다. 버전 확인# ssh -v ssh 설정 파일 위치/etc/ssh/ ssh 관리 명령어# service sshd help Usage: /etc/init.d/sshd {start|stop|restart|reload|force-reload|condrestart|try-restart|status} 내부에 다른 컴퓨터에서 ssh을 이용하여 접속 (포트 생략 시 22로 연결)$ ssh root@10.211.55.3 -p 22
- Hostnamehostname 변경하기# vi /etc/sysconfig/network - Login interface외부에서 접근 시 출력하는 메시지# cat /etc/issue.net 내부에서 접근 시 출력하는 메시지# cat /etc/issue 접속 후 출력하는 메시지# cat /etc/motd - 내부에서 접근 시 출력하는 메시지 수정하기ASCII로 만든 데이터를 삽입하기 위해서 SSH로 연결하여 /etc/issue 파일 수정# vi /etc/issue /etc/issue 파일 초기 상태 /etc/issue 파일 수정 상태 수정한 파일 저장 후 내부에서 접근 시 수정된 메시지를 확인할 수 있다. 사용한 파일:
HINT 로 base64와 소스 파일을 제공하고 있다. 소스 파일을 보면 user 쿠키가 없을 경우 id는 guest, pw는 123qwe로 해서 base64 인코딩을 각각 20번을 해주고 난 다음 숫자 값을 특수문자 값으로 변경하여 쿠키에 적용하는 것을 볼 수 있고 이 쿠키를 반대로 디코딩을 해서 화면에 id와 pw를 출력해주는 것을 알 수 있다.그리고 디코딩한 아이디와 패스워드 문자가 admin일 경우 문제를 해결할 수 있다. 적용된 쿠키 값user : Vm0wd%40QyUXlVWGxWV0d%5EV%21YwZDRWMVl%24WkRSV0%21WbDNXa%21JTVjAxV%40JETlhhMUpUVmpBeFYySkVUbGhoTVVwVVZtcEJlRll%26U%40tWVWJHaG9UVlZ%24VlZadGNF..
Login, Join 버튼이 있는 페이지를 볼 수 있고 Join 버튼을 누르면 아래와 같이 접근 거부 당한다. 메인 페이지 소스를 보면 스크립트로 Join 버튼을 누르면 다른 페이지로 이동하는 것이 아니라 단순히 Access_Denied 창을 띄운다는 것을 알 수 있다. 다른 정보를 얻기 위해서 로그인 페이지로 가면 아래와 같은 페이지를 볼 수 있다. 다른 페이지에 대한 정보를 얻기 위해서 디렉터리 리스팅을 해보면 아래와 같이 /hint 라는 정보와 함께 join.php가 있다는 것을 알 수 있다. 직접 join.php로 이동을 해보면 아래와 같은 페이지를 볼 수가 있다. 소스를 보면 아래와 같은 코드를 확인할 수 있다. 난독화되어 있는 코드를 아래와 같이 풀 수도 있다. Challenge 5l='a';..
YzQwMzNiZmY5NGI1NjdhMTkwZTMzZmFhNTUxZjQxMWNhZWY0NDRmMg==문자열을 보면 알파벳(대소문자)와 숫자로 구성이 되어있고 마지막에 ==가 붙은 것으로 보면 Base64로 Encode 된 것을 추측할 수 있고 Base64 Decode를 해보면 아래와 같은 문자열을 얻을 수 있다. c4033bff94b567a190e33faa551f411caef444f2Base64로 Decode를 하면 위와 같은 문자열을 얻을 수 있고 문자 수를 세어보면 40자리인 것을 통해 sha1으로 Hash 된 것을 추측을 할 수 있다.https://md5hashing.net/사이트에서 sha1으로 Decode 해보면 아래와 같은 문자열을 얻을 수 있다. a94a8fe5ccb19ba61c4c0873d..
사이트에 접근하면 로직 퍼즐을 볼 수 있고 마우스를 클릭하여 로직을 푼 다음에 gogo 버튼을 누른다. http://webhacking.kr/challenge/web/web-03/index.php?_1=1&_2=0&_3=1&_4=0&_5=1&_6=0&_7=0&_8=0&_9=0&_10=0&_11=0&_12=1&_13=1&_14=1&_15=0&_16=0&_17=1&_18=0&_19=1&_20=0&_21=1&_22=1&_23=1&_24=1&_25=1&_answer=1010100000011100101011111위와 같이 로직에서 칠해진 부분은 1, 그렇지 않은 부분은 0으로 해서 값이 올바르게 넘어오면 이름을 기록할 수 있다. do9dark와 user를 입력을 하면 위 그림과 같이 기록이 남는 것을 볼 수 있다..
웹사이트를 둘러보면 BOARD > FreeB0aRd에 게시글이 하나 있는 것을 볼 수 있다. 게시글을 눌러보면 아래 그림과 같이 비밀글로 되어 있어서 볼 수가 없다. 다른 정보를 얻기 위해서 소스를 살펴보면 admin 페이지로 이동하는 링크를 볼 수가 있다. admin 페이지에서도 특별한 정보를 얻을 수 없었으나 메인 페이지 소스를 하단에 보면 시간 정보가 주석으로 있는 것을 볼 수 있다.쿠키를 살펴보면 시간 정보를 쿠키를 통해서 전달이 되는 것을 볼 수 있다. time 값을 1로 변경해서 소스를 보면 아래 그림과 같다. time 값을 1로 변경하였을 때 시간 정보 값을 보면 이다.time 값을 1씩 증가시키면 시간 정보 중 초도 1씩 증가가 된다. (-1은 08:59:59, 0은 미표시, 00은 09:..
- Static IP # vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0HWADDR=10:78:D2:46:20:C6IPADDR=203.246.10.13NETMASK=255.255.255.0GATEWAY=203.246.10.1DNS1=168.126.63.1DNS2=8.8.8.8TYPE=EthernetUUID=1a534e24-c430-44a3-b936-cdd9fde1b9acONBOOT=yesNM_CONTROLLED=noBOOTPROTO=none # service network restart - Dynamic IP# vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0HWADDR=10:78:D2:46:20:C6T..
데이터베이스 보기mysql> SHOW DATABASES; 데이터베이스 생성mysql> CREATE DATABASE 데이터베이스명; 사용자 생성mysql> CREATE USER 사용자명; 사용자 생성 및 패스워드 지정 mysql> CREATE USER '사용자명'@'localhost' IDENTIFIED BY '패스워드'; 사용자 외부 접근 권한 설정mysql> CREATE USER '사용자명'@'%' IDENTIFIED BY '패스워드';'%' = 외부에서 모든 접근을 허용'203.246.%' = 203.246.x.x 대역 IP 접근을 허용 변경사항 적용mysql> FLUSH PRIVILEGES;INSERT, UPDATE를 이용해서 권한을 부여한 경우에는 FLUSH PRIVILEGES; 를 해야 적용 된..
int fflush(FILE *stream);void sync(void); cache/buffer를 비우는 역할 layer: disk IO(1) - system call(2) - stdio(3) fflush() - library call- stdio 라이브러리에서 IO를 처리할 때 user level에서 사용하는 버퍼를 비우는 역할 (2,3 사이 버퍼를 비움)- 사용자 영역(user level)의 버퍼(라이브러리 수준에서 제공되는)를 커널의 버퍼로 이동시키는 역할을 한다.sync()- system call- 시스템(kernel)에서 disk를 사용할 때 kernel level에서 사용하는 버퍼(buffer cache)를 비우는 역할 (1,2 사이 버퍼를 비움)- 사용자 라이브러리 함수(fprintf, f..
Scapy: All-in-One Networking ToolA network is an essential part of any cyber infrastructure. There are various tools available for the networking part of pentesting and other security assessment tasks like Nmap, tcpdump, arpspoof, etc., but one tool which stands out of all is Scapy.Scapy is a powerful interactive packet manipulation tool written in Python, and the best part is that it can also b..
기본적인 명령어 지원하는 레이어(프로토콜) 보기Displays all the protocols supported by Scapy. Usage example: ls(TCP)>>> ls() 지원하는 함수(명령) 보기Displays the list of commands supported by Scapy. Usage example: lsc()>>> lsc() 설정 보기Displays configurations options.>>> conf 설정 변경(conf.변수 = '변경값')>>> conf.iface = 'eth0' 도움말 보기>>> help() Display help on a specific command. Usage example: help(sniff) 패킷 구성 세부 정보 보기Display the de..
Scapy 2.3.1 Scapy is a tool, written in Python, for manipulating network packets. It can be used for capturing packets, forging them and decoding them. And that is just the tip of the iceberg, there are also a lot of other network related tasks that Scapy can handle. Scanning: The act of probing a host machine to identify any specific detail about it. Eg. Port scanning.Sniffing: The act of inter..
PySide - Combine (Show, About, Close) combine.ui MainWindow 0 0 731 475 MainWindow 0 0 731 21 &File Show &CCPL &About false Close &X action_Close triggered() MainWindow close() -1 -1 365 237 cs $ pyside-uic combine.ui > ui_combine.py combine.qrcimage/quit.pngimage/about.pngimage/show.png cs $ pyside-rcc combine.qrc -o qrc_combine.py combine.py#!/usr/bin/python# -*- coding: utf-8 -*- # combine.py..
PySide - Show Licence (File Open) licence.ui MainWindow 0 0 654 467 MainWindow &Show Lincence Qt::Horizontal 507 26 0 0 654 29 cs $ pyside-uic licence.ui > ui_licence.py licence.py#!/usr/bin/python# -*- coding: utf-8 -*- # licence.py - this small program reads and displays licence details. import sysfrom PySide.QtGui import QApplication, QMainWindow, QTextEdit, QPushButtonfrom ui_licence import ..
PySide - About Box about.ui MainWindow 0 0 654 467 MainWindow &About Qt::Horizontal 548 26 Qt::Vertical 20 355 0 0 654 29 cs $ pyside-uic about.ui > ui_about.py about.py#!/usr/bin/python# -*- coding: utf-8 -*- # about.py - display about box with info on platform etc. import sysimport platformimport PySidefrom PySide.QtGui import (QApplication, QMainWindow, QMessageBox)from ui_about import Ui_Mai..
PySide - Close Button quitter.ui MainWindow 0 0 348 255 MainWindow Qt::Horizontal 282 20 Quit Qt::Vertical 20 175 0 0 348 21 pushButton clicked() MainWindow close() 318 36 173 127 cs $ pyside-uic quitter.ui -o ui_quitter.py quitter.py#!/usr/bin/python# -*- coding: utf-8 -*- # quitter.py- provide a button to quit this "program" import sysfrom PySide.QtGui import QMainWindow, QPushButton, QApplica..
PySide - QMessageBox #!/usr/bin/python# -*- coding: utf-8 -*- import sysimport PySidefrom PySide.QtGui import QApplicationfrom PySide.QtGui import QMessageBox # Create the application objectapp = QApplication(sys.argv) # Create a simple dialog boxmsgBox = QMessageBox()msgBox.setText("Hello World - using PySide version " + PySide.__version__)msgBox.exec_() cs
PySide Binaries OS XTo install PySide in Mac OS X, you need to install both PySide and the appropriate Qt version. PySide 1.2.1 / Qt 4.8Qt for Mac OS X Download:qt-mac-opensource-4.8.5.dmg PySide를 설치하기 전에 먼저 Qt 4.8.5를 설치한다.Note: PySide is not yet compatible with Qt 5.x. Please use Qt 4.8 instead.Qt는 컴퓨터 프로그래밍에서 GUI 프로그램 개발에 널리 쓰이는 크로스 플랫폼 프레임워크이다. PySide 1.2.1 for Python 2.7 Download:pyside-1.2...
프롬프트(Prompt)는 컴퓨터가 입력을 기다리고 있음을 가리키기 위해 화면에 나타나는 표시 명령어 중심의 시스템에서는 명령어를 받아들이기 위한 준비가 되었을 때, 미리 정해진 부호를 나타낸다. 유닉스(리눅스)에서는 $ 또는 #를 나타낸다. 터미널을 사용할 때 프롬프트(Prompt)는 정보를 가지고 있으며, Bash(Bourne-again) Shell에서 프롬프트(Prompt) 정보는 PS1이라는 변수에 들어있다. 현재 사용하는 Shell은 환경변수를 통해서 확인이 가능하다. $ echo $SHELL 같은 방법으로 PS1의 정보도 다음과 같이 확인할 수 있다. $ echo $PS1 현재 시스템에서 사용이 가능한 Shell의 종류는 다음과 같다. $ cat /etc/shells Shell 변경은 chsh ..
- 프롬프트 변경# vi /etc/bashrc PS1 초기 상태 PS1 값 변경 PS1="\[$(tput setaf 1)\][\u:\W]\\$ \[$(tput sgr0)\]" 변경 후 재시작하면 적용된 결과 확인 가능# shutdown -r now - 운영체제 버전 확인# cat /etc/*release* - 리눅스 커널 버전 확인# uname -a # cat /proc/version - 리눅스 시스템 비트 확인# arch# getconf LONG_BIT - CPU 정보# cat /proc/cpuinfo - 메모리 정보# cat /proc/meminfo - 파티션 정보# cat /proc/partitions - 호스트네임 정보# hostname
Type fieldd : directoryl : symbolic link (링크되어 있는 파일) 하드 링크는 일반 파일로 표시s : socket (소켓 기능을 하는 파일)p : named pipe (PIPO, 파이프 기능을 하는 파일)- : regular file (일반 파일)c : character (unbuffered) device file special (문자형 특수 장치 파일) ex) 터미널 /dev/console, /dev/ttyb : block (buffered) device file special (블록형 특수 장치 파일) ex) 디스크 /dev/disk Permissions fieldu : The user permission bits in the original mode of the fil..
□ description==========================================You're welcome to betatest our new social media site, it's going to be the next big thing. Server : http://54.64.164.100:5555/Script : http://binary.grayhash.com/2a0182588cf5550cebb49876d94c7a2f/index.py - option : please check the notice board.========================================== http://54.64.164.100:5555/ http://binary.grayhash.com/2..
□ description ========================================== http://54.65.205.135/owlur/ if you use a web scanner, your IP will get banned no bruteforce required, take it easy ========================================== http://54.64.81.174/owlur/ 파일을 업로드할 수 있는 사이트가 있다. Click here to view a random owl. here 를 누르면 아래와 같이 부엉이(무작위)를 볼 수 있다. http://54.64.81.174/owlur/index.php?page=view&id=random page 파라미..
The Lord Of The BOF - BOF 원정대비교적 쉬운 BOF 공략 환경인 RedHat 6.2에서부터 궁극의 Fedora 14까지수십개의 레벨을 거쳐가며 BOF 시스템 해킹 실습을 하는 WarGame. BOF 원정대는 원격으로 접속하는 형태가 아닌 개인 PC에 구축해서 접속하는 형태이다. 원정을 떠나기 위해서는 가상 이미지를 구축할 수 있도록 도와주는 프로그램이 필요하다.Mac에서 vmware 이미지를 실행하기 위해서 VMware-Fusion 7을 설치하였다. ftp://do9.kr/TheLordOfTheBOF_redhat_bootable.ziphttp://hackerschool.org/TheLordofBOF/TheLordOfTheBOF_redhat_bootable.zip다음으로, 위 경로를 통..