Perl, ProgramingComments Off on Perl: Bài 1 – làm quen với Perl
Sep142015
Giới thiệu:
Perl viết tắt của từ Partical Extration and Report Language tạm hiểu là ngôn ngữ kết xuất và báo cáo thực dụng. Perl được Larry Wall xây dựng từ năm 1987. Mục đích chính của nó là tạo ra một ngôn ngữ lập trình có khả năng chắt một lượng dữ liệu và cho phép xử lý dữ liệu nhằm thu được kết quả cần tìm.
Perl là một ngôn ngữ thông dụng trong lĩnh vực quản trị hệ thống và xử lý các trang web do có các ưu điểm sau:
+ Có các thao tác quản lý tập tin, xử lý thông tin thuận tiện.
+ Thao tác với các chuỗi ký tự rất tốt.
+ Đã có một thư viện mã lệnh lớn do cộng đồng sử dụng Perl đóng góp (CPAN).
Cú pháp của Perl khá giống với C, từ các ký tự đến tên hàm, do đó, nhiều người đã có kinh nghiệm với C thấy Perl dễ học. Perl khá linh hoạt và cho phép người sử dụng giải quyết cùng một số vấn đề được đặt ra theo nhiều cách khác nhau.
2. Cài đặt Perl
Bước 1:
Bạn truy cập vào địa chỉ http://www.activestate.com/activeperl/downloads và tải bản phù hợp với HĐH của mình.
Bước 2: Thực hiện cài đặt, nếu bạn cài đặt thành công bạn chạy câu lệnh:
perl -v
màn hình sẽ tương tự như sau:
Bước 3: Viết chương trình đầu tiên sử dụng ngôn ngữ Perl
mã nguồn như sau:
thực hiện chay chương trình và kết quả nhu sau:
Vậy là chúng ta đã thực hiện xong các bước đầu tiên.
Mời bạn tham khảo code tại: https://github.com/khanhnnvn/Perl-Basic
Redmine là phần mềm nguồn mở hữu ích cho việc quản trị dự án. Redmine có các chức năng: Lập kế hoạch (schedule, estimated effort, assign) Nhập actual effort, tiến độ công việc Tùy biến một số các report để quản lý và theo dõi tiến độ công việc, tạo các reminder để nhắc nhở mình. Trong bài viết này tôi sẽ hướng dẫn cài đặt Redmine trên môi trường máy chủ Ubuntu Server.
Bước 1: Cài đặt các gói phần mềm liên quan
– Cài đặt MySQL:
LinuxComments Off on Cấu hình sử dụng SSL cho nhiều website sử dụng một địa chỉ IP
Sep122015
SSL là viết tắt của từ Secure Sockets Layer. Đây là một tiêu chuẩn an ninh công nghệ toàn cầu tạo ra một liên kết được mã hóa giữa máy chủ web và trình duyệt. Liên kết này đảm bảo tất cả các dữ liệu trao đổi giữa máy chủ web và trình duyệt luôn được bảo mật và an toàn. SSL đảm bảo rằng tất cả các dữ liệu được truyền giữa các máy chủ web và các trình duyệt được mang tính riêng tư, tách rời. SSL là một chuẩn công nghiệp được sử dụng bởi hàng triệu trang web trong việc bảo vệ các giao dịch trực tuyến với khách hàng của họ.
Bước 1: Bạn tiến hành cài đặt các phần mềm liên quan:
SolutionComments Off on How to install Zimbra Opensource Collaboration 8 on CentOS 7
Sep112015
1. System Requirements for Zimbra Collaboration
Evaluation and Testing
• Intel/AMD 64-bit CPU 1.5 GHz
• RAM requirements:
• For single server installations, a minimum of 8GB of RAM is required.
• For multi-server installations, contact Zimbra sales for recommendations.
• 5 GB free disk space for software and logs
• Temp file space for installs and upgrades*
• Additional disk space for mail storage Production environments
• Intel/AMD 2.0 GHZ+ 64-bit CPU
• RAM requirements:
• For single server installations, a minimum of 8GB of RAM is required.
• For multi-server installations, contact Zimbra sales for recommendations.
• Temp file space for installs and upgrades*
• 10 GB free disk space for software and logs (SATAor SCSI for performance, and RAID/Mirroring for redundancy)
• Additional disk space for mail storage
*Temp files space: The zimbra-store requires 5GB for / opt/zimbra, plus additional space for mail storage. Theother nodes require 100MB. General Requirements
• Firewall Configuration should be set to “No firewall”.
• RAID-5 is not recommended for installations with more than 100 accounts.
2. Install zimbra
a. Install some pack pre-requisites, we using command:
and remove postfix if it installed.
b. Now we must change hostname, warming we must reboot server after change hostname.
c. Download zimbra from home page, we using command:
then download complete, we extra using command for example
d. Install Zimbra using command:
if you see error on this picture
we install perl-core
Press Yes for confirm install zimbra on your system.
This picture is during install zimbra on centos 7
You should change domain, for example your email is [email protected], you press sysadmin.com.vn
After install, you must config zimbra, one important is password for user admin
LinuxComments Off on Linux Server See the Historical and Statistical Uptime of System With tuptime Utility
Sep112015
Bạn có thể dùng các công cụ sau trên Linux để kiểm tra các thông tin về hệ thống của mình. Cụ thể các câu lệnh:
uptime: Cho ta biết hệ thống đã chạy được bao nhiêu lâu.
last: hiển thị thời gian khởi động lại và tắt máy tính.
tuptime: Câu lệnh như uptime nhưng cho kết quả rõ ràng hơn.
Các bạn tham khảo hình dưới đây:
Công cụ tuptime
Để cài đặt, bạn có thể dùng các lệnh sau hoặc làm như hình dưới $ cd /tmp
$ git clone https://github.com/rfrail3/tuptime.git
$ ls
$ cd tuptime
$ ls
Bạn hãy chắc chắn Python đã được cài đặt để chạy các thư viện:
$ sudo tuptime-install.sh
Hoặc bạn có thể chạy các lệnh bằng tay:
$ sudo cp /tmp/tuptime/latest/cron.d/tuptime /etc/cron.d/tuptime
Sao chép dịch vụ mặc định và cho chúng khởi động. $ sudo cp /tmp/tuptime/latest/systemd/tuptime.service /lib/systemd/system/
$ sudo systemctl enable tuptime.service
Bạn có thể dùng cách chạy đơn giản sau: $ sudo tuptime
Kết quả sẽ là
$ sudo tuptimeSystem startups: 2 since 03:52:16 PM 08/21/2015
System shutdowns: 1 ok - 0 bad
Average uptime: 7 days, 16 hours, 48 minutes and 3 seconds
Average downtime: 2 hours, 30 minutes and 5 seconds
Current uptime: 5 minutes and 28 seconds since 06:23:06 AM 09/06/2015
Uptime rate: 98.66 %
Downtime rate: 1.34 %
System uptime: 15 days, 9 hours, 36 minutes and 7 seconds
System downtime: 5 hours, 0 minutes and 11 seconds
System life: 15 days, 14 hours, 36 minutes and 18 seconds
Bạn có thể đưa định dạng về ngày tháng năm $ sudo tuptime -d '%H:%M:%S %m-%d-%Y'
System startups: 1 since 15:52:16 08-21-2015
System shutdowns: 0 ok - 0 bad
Average uptime: 15 days, 9 hours, 21 minutes and 19 seconds
Average downtime: 0 seconds
Current uptime: 15 days, 9 hours, 21 minutes and 19 seconds since 15:52:16 08-21-2015
Uptime rate: 100.0 %
Downtime rate: 0.0 %
System uptime: 15 days, 9 hours, 21 minutes and 19 seconds
System downtime: 0 seconds
System life: 15 days, 9 hours, 21 minutes and 19 seconds
$ sudo tuptime -e
Kết quả:
Startup: 1 at 03:52:16 PM 08/21/2015
Uptime: 15 days, 9 hours, 22 minutes and 33 seconds
System startups: 1 since 03:52:16 PM 08/21/2015
System shutdowns: 0 ok - 0 bad
Average uptime: 15 days, 9 hours, 22 minutes and 33 seconds
Average downtime: 0 seconds
Current uptime: 15 days, 9 hours, 22 minutes and 33 seconds since 03:52:16 PM 08/21/2015
Uptime rate: 100.0 %
Downtime rate: 0.0 %
System uptime: 15 days, 9 hours, 22 minutes and 33 seconds
System downtime: 0 seconds
System life: 15 days, 9 hours, 22 minutes and 33 seconds
PentestComments Off on SET: SOCIAL ENGINEERING TOOLKIT – PHISHING AND E-MAIL HACKING
Sep112015
Như chúng ta đã biết phishing là hình thức gửi những email có nôi dung lừa đảo đến người dùng trong hệ thống. Thực tế cho thấy rằng việc tấn công vào các hệ thống đa số đều từ người dùng cuối. Chúng ta có thể hiểu rằng thay vì tìm ra hay tấn công vào các máy chủ, các tài khoản của người quản trị thì chúng ta tấn công vào những người dùng văn phòng ít bảo mật hơn sau đó dùng các biện pháp leo thang đặc quyền để do thám đánh cắp những thông tin nhậy cảm. Trong bài viết này tôi nói đến việc giả mạo gửi mail khác lỗ hổng bảo mật từ những tài liệu văn bản hay còn gọi là File Format. Bài lab sẽ demo hình thứ giả mạo email, tấn công vào lỗ hổng Word 2007 cho phép hacker gán quyền meterpreter shell và chiếm đoạt hệ thống.
Bước 1: quay trở lại màn hình đầu tiên của “SET”. Nhập vào 1“Social-Engineering Attacks”
1
2
3
4
5
6
7
8
9
10
11
12
13
Select from the menu:
1)Social–Engineering Attacks
2)Fast–Track Penetration Testing
3)Third Party Modules
4)Update the Social–Engineer Toolkit
5)Update SET configuration
6)Help,Credits,andAbout
99)Exit the Social–Engineer Toolkit
set>1
Bước 2: nhập vào 1 “Spear-Phishing Attack Vectors”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Select from the menu:
1)Spear–Phishing Attack Vectors
2)Website Attack Vectors
3)Infectious Media Generator
4)CreateaPayload andListener
5)Mass Mailer Attack
6)Arduino–Based Attack Vector
7)Wireless Access Point Attack Vector
8)QRCode Generator Attack Vector
9)Powershell Attack Vectors
10)Third Party Modules
99)Returnback tothe main menu.
set>1
Bước 3: nhập vào 2 “Create a FileFormat Payload” . Tạo payload dưới dạng files văn bản
1
2
3
4
5
6
7
8
1)PerformaMass Email Attack
2)CreateaFileFormat Payload
3)CreateaSocial–Engineering Template
99)ReturntoMain Menu
set:phishing>2
Bước 4: chọn payload. Ở đây tôi chọn 5. Tấn công vào lỗ hổng bảo mật nguy hiểmMS10-087 trên Micsosoft Office 2003 – 2010
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
1)SET Custom Written DLL Hijacking Attack Vector(RAR,ZIP)
2)SET Custom Written Document UNC LM SMB Capture Attack
Lúc nào Word trên máy nạn nhận tự động tắt đi và trên máy tính của Attacker đã có meterpreter shell cho phép khai thác tất cả thông tin trên máy nạn nhân. Qua bài viết này các bạn đã thấy được sự nguy hiểm liên quan đến việc tấn công phishing cũng như sự nguy hiểm của những files tài liệu văn bản sử dụng hàng ngày.
Linux, PentestComments Off on Cài đặt Kali Linux Tools sử dụng “Katoolin” trên Ubuntu/Debian
Sep112015
Katoolin là một đoạn kịch bản cài đặt các công cụ trên Kali Linux trên hệ điều hành của bạn. Kali Linux là một hệ điều hành nổi tiếng cho việc kiểm tra bảo mật các phần mềm hệ thống.
Trong bài viết này, chúng ta sẽ thực hiện cài đặt trên HĐH Ubuntu Desktop 14.03
Các chức năng chính của Katoolin:
Thêm kho phần mềm của Kali Linux
Xóa kho phần mềm của Kali Linux
Cài đặt Kali Linux Tools
Yêu cầu:
Hệ điều hành Ubuntu
Python => 2.7.x
Các bước cài đặt:
Bước 1: Cài đặt git và download gói phần mềm Katoolin
# cd katoolin-master/
# chmod 755 katoolin.py
# ./katoolin.py
Chọn 1 để thực hiện cài đặt hoặc cập nhật
1) Add Kali repositories & Update
2) View Categories
3) Install classicmenu indicator
4) Install Kali menu
5) Help
kat > 1
1) Add kali linux repositories
2) Update
3) Remove all kali linux repositories
4) View the contents of sources.list file
What do you want to do ?> 1
Kết quả
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.DC9QzwECdM --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver pgp.mit.edu --recv-keys ED444FF07D8D0BF6
gpg: requesting key 7D8D0BF6 from hkp server pgp.mit.edu
gpg: key 7D8D0BF6: public key "Kali Linux Repository <[email protected]>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
What do you want to do ?> 2
Ign http://in.archive.ubuntu.com vivid InRelease
Ign http://security.ubuntu.com vivid-security InRelease
Ign http://in.archive.ubuntu.com vivid-updates InRelease
Get:1 http://security.ubuntu.com vivid-security Release.gpg [933B]
Ign http://in.archive.ubuntu.com vivid-backports InRelease
Get:2 http://repo.kali.org kali-bleeding-edge InRelease [11.9 kB]
Get:3 http://security.ubuntu.com vivid-security Release [63.5 kB]
Hit http://in.archive.ubuntu.com vivid Release.gpg
Get:4 http://repo.kali.org kali-bleeding-edge/main amd64 Packages [8,164 B]
Get:5 http://in.archive.ubuntu.com vivid-updates Release.gpg [933 B]
Get:6 http://repo.kali.org kali-bleeding-edge/main i386 Packages [8,162 B]
Hit http://in.archive.ubuntu.com vivid-backports Release.gpg
...
Nếu muốn xóa bạn chọn tùy chọn 3
What do you want to do ?> 3
All kali linux repositories have been deleted !
Kho của Kali Linux sẽ xóa khỏi /etc/apt/sources.list
Để thực hiện xem bạn chọn tùy chọn 4
What do you want to do ?> 4
#deb cdrom:[Ubuntu 15.04 _Vivid Vervet_ - Release amd64 (20150422)]/ vivid main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://in.archive.ubuntu.com/ubuntu/ vivid main restricted
deb-src http://in.archive.ubuntu.com/ubuntu/ vivid main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://in.archive.ubuntu.com/ubuntu/ vivid-updates main restricted
deb-src http://in.archive.ubuntu.com/ubuntu/ vivid-updates main restricted
...
Để quay lại bạn gõ lệnh:
What do you want to do ?> back
1) Add Kali repositories & Update
2) View Categories
3) Install classicmenu indicator
4) Install Kali menu
5) Help
kat >
Để quay lại Menu chính bạn gõ lệnh như sau:
kat > gohome
1) Add Kali repositories & Update
2) View Categories
3) Install classicmenu indicator
4) Install Kali menu
5) Help
kat >
Bạn cũng có thể sử dụng các chức năng
kat > 2
**************************** All Categories *****************************
1) Information Gathering 8) Exploitation Tools
2) Vulnerability Analysis 9) Forensics Tools
3) Wireless Attacks 10) Stress Testing
4) Web Applications 11) Password Attacks
5) Sniffing & Spoofing 12) Reverse Engineering
6) Maintaining Access 13) Hardware Hacking
7) Reporting Tools 14) Extra
0) All
LinuxComments Off on Cài đặt Yum Repository Server cho Red Hat và CentOS
Sep092015
Trong thực tế, khi cài đặt hoặc cấu hình mới một máy chủ quản trị viên cần kết nối ra Internet để thực hiện chạy câu lệnh Yum. Việc kết nói ra ngoài Internet đôi khi không cần thiết. Bài viết sẽ trình bày các bước thiết lập một máy chủ Yum để thực hiện cài đặt dễ dàng hơn.
Bước 1: Cài đặt phần mềm createrepo
yum install createrepo
Bước 2: Bạn thực hiện tạo thư mục chưa gói cài đặt
mkdir -p /repos/CentOS/6/5/Packages
Bước 3: Tạo kho repo với thư mục đó
createrepo /repos/CentOS/6/5
Bạn cũng có thể thực hiện copy gói mới và cập nhật lại bằng câu lệnh
SolutionComments Off on Manage KVM (QEMU) with Kimchi (web interface)
Sep072015
Kimchi is a HTML5 based web interface for KVM. It is provides easy and flexible interface to create and manage a guest virtual machines. Kimchi is installed and runs as a daemon on the KVM host. It manages KVM guests with the help of libvirt. Kimchi interface supports all latest version of the browsers with -1 version, it also supports mobile browsers.
Kimchi can be installed on latest version of RHEL, Fedora, openSUSE and Ubuntu. In this guide, i used Ubuntu 14.10 as a KVM host.
Before configuring kimchi, you must install the following dependent packages.
$ make
$ sudo make install # Optional if running from the source tree
Run kimchi.
$ sudo kimchid --host=0.0.0.0
Access kimchi using web browser, https://localhost:8001. You would be asked to login, use your system credential which you normally use for login to system.
Once you logged in, you will get a page like below. This show the list of running guest virtual machines on current host, you have buttons to perform shutdown, restart and connect to console by clicking on action.
To create a new guest machine, click on the + sign in the right corner. If you use this option to create a machine, it will be done through templates.
You can manage templates by visiting templates menu. To create a new template, click on the + sign in the right corner. You can create a template using ISO images, you can place iso images on /var/lib/kimchi/isos or use remote one.
You can manage storage pool by going to storage menu, there you can add a new storage by clicking on + sign. It supports adding NFS, iSCSI and SCSI fibre channel storage.
Network can be managed by going to network menu, you can create a new network with isolated, NAT and bridged networking.
SolutionComments Off on How to install Elasticsearch, Logstash and Kibana 4 on Ubuntu 14.04 / 15.04
Sep072015
In this post, will look how to install Elasticsearch, Logstash and Kibana 4 on Ubuntu 14.04 / 15.04. This ELK stack help us to store and manage the logs in a centralized location. ELK stack consists of four vital components that makes a wonderful stack to analyze the problems by correlating the events on a particular time.
Centralizing logs will make a system admin life easier to analyze the problems and issues without going to each machine for logs, and visualize those logs to management for business requirements.
Components:
Logstash – It does the processing (Collect, parse and send it to Elasticsearch) of incoming logs.
Elasticsearch – Stores the logs coming from Logstash.
Kibana 4 – Web interface for visualizing the logs (has an own interface). The above three are installed on server.
Logstash-forwarder – Installed on client machines, sends log to Logstash through lumberjack protocol.
Application versions:
This article uses below version of softwares for ELK stack.
Elastisearch 1.7.0
logstash-1.5.3
Kibana 4.1.1
logstash-forwarder-0.4.0
Prerequisites:
1. We would require to install either openJDK or Oracle JDK, It is recommended to install Oracle JDK.Verify the java version by using the following command.
$ java -version
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
Elasticsearch is an open source search server, it offers a realtime distributed search and analytics with RESTful web interface. Elasticsearch stores all the logs sent by the logstash server and displays the messages when the kibana4 requests for full filling user request over the web interface.
Wait, at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response.
Logstash is an open source tool, used for collecting logs, parsing and storing them searching. Yes, logstash comes with a web interface (kibana3 is built-in) for visualizing logs which we are not going to discuss here instead we use kibana4. Processing of various types of events can be extended by adding plugins to it, over 160 plugins are available as of now. Lets will go directly to the installation.
# echo "deb http://packages.elasticsearch.org/logstash/1.5/debian stable main" | sudo tee -a /etc/apt/sources.list
# apt-get update && apt-get install logstash
Once the logstash server is installed, lets move on to next section
Create SSL certificate:
Logstash-forwarder which will be installed on client-server to ship the logs requires SSL certificate to validate identity of logstash server. We have a two options to create a SSL certificate and it depends on logstash-forwarder configuration; if you use hostname ( “servers”: [ “server.itzgeek.local:5050″ ]), subject name of SSL should match “server.itzgeek.local”. If you use ( “servers”: [ “192.168.12.10:5050″ ]) an ip address, you must create a SSL certificate with IP SAN with value 192.168.12.10.
Follow any one of the method to create a SSL certificate.
Option 1: (Hostname FQDN)
Before creating a certificate, make sure you have A record for logstash server; ensure that client servers are able to resolve the hostname of the logstash server. If you do not have DNS, kindly add the host entry for logstash server; where 192.168.12.10 is the ip address of logstash server and itzgeek is the hostname of your logstash server.
# vi /etc/hosts
192.168.12.10 server.itzgeek.local
Lets create a SSl certificate. Go to OpenSSL directory.
# cd /etc/ssl/
Execute the following command to create a SSL certificate, replace “red” one in with your real logstash server.
This logstash-forwarder.crt should be copied to all client servers those who send logs to logstash server.
Configure Logstash:
Logstash configuration files can be found in /etc/logstash/conf.d/, just an empty folder. We would need to create a file, logstash configuration files consist of three section input, filter and output; all three section can be found either in single file or each section will have separate file ends with .conf.
Here we will use a single file to place an input, filter and output sections.
# vi /etc/logstash/conf.d/logstash.conf
In the first section, we will put an entry for input configuration. The following configuration sets lumberjack to listen on port 5050 for incoming logs from the logstash-forwarder that sits in client servers, also it will use the SSL certificate that we created earlier.
input {
lumberjack {
port => 5050
type => "logs"
ssl_certificate => "/etc/ssl/logstash-forwarder.crt"
ssl_key => "/etc/ssl/logstash-forwarder.key"
}
}
In the second section, we will put an entry for filter configuration. Grok is a filter in logstash, which does parsing of logs before sending it to Elasticsearch for storing. The following grok filter will look for the logs that are labeled as ‘syslog” and tries to parse them to make a structured index.
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGLINE}" }
}
date {
match => [ "timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}
Consider visiting grokdebugger for filter patterns.
In the third section, we will put an entry of output configuration. This section defines location where the logs get stored; obviously it should be Elasticsearch.
Logstash server logs are stored in the following file, will help us to troubleshoot the issues.
# cat /var/log/logstash/logstash.log
Next we will configure a logstash-forwarder to ship logs to logstash server.
Configure Logstash-forwarder.
Logstash-forwarder is a client software which ship logs to a logstash server, it should be installed on all client servers. Logstash-forwarder can be downloaded from official website or you can use the following command to download it in terminal and install it.
Logstash-forwader uses SSL certificate for validating logstash server identity, so copy the logstash-forwarder.crt that we created earlier from the logstash server to the client.
In the “network” section, mention the logstash server with port number and path to the logstash-forwarder certificate that you copied from logstash server.
This section defines the logstash-forwarder to send a logs to logstash server “server.itzgeek.local” on port 5050 and client validates the server identity with the help of SSL certificate. Note: Replace “server.itzgeek.local” with ip address incase if you are using IP SAN.
In the “files” section, configures what all are files to be shipped. In this article we will configure a logstash-forwarder to send a logs (/var/log/syslog) to logstash server with “syslog” as type.
Access your kibana portal by visiting the following link
http://your-ip-address:5601/
You will get a following page where you have to map logstash index to use kibana. Scroll down on Time-field name and select
@timestamp
Once you selected, it will redirect you to kibana main page.
Kibana does not comes with any kind of password protected access to portal. With Nginx, we can configure in such a way that the user should fulfill authentication mechanism before entering to portal.
That’s All, you have successfully configured ELK stack for centralized log management.