Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
HeSYINUvSBZfxqA-veewee
Advanced tools
VeeWee: the tool to easily build vagrant base boxes Vagrant is a great tool to test new things or changes in a virtual machine(Virtualbox) using either chef or puppet. The first step is to download an existing 'base box'. I believe this scares a lot of people as they don't know who or how this box was build. Therefore lots of people end up first building their own base box to use with vagrant.
Veewee tries to automate this and to share the knowledge and sources you need to create a basebox. Instead of creating custom ISO's from your favorite distribution, it leverages the 'keyboardputscancode' command of Virtualbox so send the actual 'boot prompt' keysequence to boot an existing iso.
Before we can actually build the boxes, we need to take care of the minimal things to install:
People have reported good experiences, why don't you give it a try?
as a gem
$ gem install veewee
from source
$ git clone https://github.com/jedi4ever/veewee.git
$ cd veewee
$ gem install bundler
$ bundle install
If you don't use rvm, be sure to execute vagrant through bundle exec
$ alias vagrant="bundle exec vagrant"
$ vagrant basebox templates
The following templates are available:
vagrant basebox define '<boxname>' 'CentOS-4.8-i386'
vagrant basebox define '<boxname>' 'CentOS-5.5-x86_64-netboot'
vagrant basebox define '<boxname>' 'CentOS-5.6-i386'
vagrant basebox define '<boxname>' 'CentOS-5.6-i386-netboot'
vagrant basebox define '<boxname>' 'CentOS-5.6-x86_64-netboot'
vagrant basebox define '<boxname>' 'CentOS-5.7-i386-netboot'
vagrant basebox define '<boxname>' 'CentOS-5.7-x86_64-netboot'
vagrant basebox define '<boxname>' 'CentOS-6.0-i386'
vagrant basebox define '<boxname>' 'CentOS-6.0-i386-netboot'
vagrant basebox define '<boxname>' 'CentOS-6.0-x86_64'
vagrant basebox define '<boxname>' 'CentOS-6.0-x86_64-minimal'
vagrant basebox define '<boxname>' 'CentOS-6.0-x86_64-netboot'
vagrant basebox define '<boxname>' 'Debian-5.0.8-amd64-netboot'
vagrant basebox define '<boxname>' 'Debian-5.0.8-i386-netboot'
vagrant basebox define '<boxname>' 'Debian-6.0.3-amd64-netboot'
vagrant basebox define '<boxname>' 'Debian-6.0.3-i386-netboot'
vagrant basebox define '<boxname>' 'Fedora-14-amd64'
vagrant basebox define '<boxname>' 'Fedora-14-amd64-netboot'
vagrant basebox define '<boxname>' 'Fedora-14-i386'
vagrant basebox define '<boxname>' 'Fedora-14-i386-netboot'
vagrant basebox define '<boxname>' 'Fedora-15-i386'
vagrant basebox define '<boxname>' 'Fedora-15-i386-netboot'
vagrant basebox define '<boxname>' 'Fedora-15-x86_64'
vagrant basebox define '<boxname>' 'Fedora-15-x86_64-netboot'
vagrant basebox define '<boxname>' 'Sysrescuecd-2.0.0-experimental'
vagrant basebox define '<boxname>' 'archlinux-i386'
vagrant basebox define '<boxname>' 'archlinux-i386-netboot'
vagrant basebox define '<boxname>' 'archlinux-x86_64'
vagrant basebox define '<boxname>' 'archlinux-x86_64-netboot'
vagrant basebox define '<boxname>' 'freebsd-8.2-experimental'
vagrant basebox define '<boxname>' 'freebsd-8.2-pcbsd-i386'
vagrant basebox define '<boxname>' 'freebsd-8.2-pcbsd-i386-netboot'
vagrant basebox define '<boxname>' 'gentoo-latest-i386-experimental'
vagrant basebox define '<boxname>' 'openSUSE-11.4-DVD-i586'
vagrant basebox define '<boxname>' 'openSUSE-11.4-DVD-x86_64'
vagrant basebox define '<boxname>' 'openSUSE-11.4-NET-i586'
vagrant basebox define '<boxname>' 'openSUSE-11.4-NET-x86_64'
vagrant basebox define '<boxname>' 'openindiana-148-ai-x86'
vagrant basebox define '<boxname>' 'opensuse-11.4-i386-experimental'
vagrant basebox define '<boxname>' 'scientificlinux-6.1-i386-netboot'
vagrant basebox define '<boxname>' 'scientificlinux-6.1-x86_64-netboot'
vagrant basebox define '<boxname>' 'solaris-11-express-i386'
vagrant basebox define '<boxname>' 'ubuntu-10.04.2-amd64-netboot'
vagrant basebox define '<boxname>' 'ubuntu-10.04.2-server-i386-netboot'
vagrant basebox define '<boxname>' 'ubuntu-10.04.3-server-amd64'
vagrant basebox define '<boxname>' 'ubuntu-10.04.3-server-amd64-alt'
vagrant basebox define '<boxname>' 'ubuntu-10.04.3-server-i386'
vagrant basebox define '<boxname>' 'ubuntu-10.10-server-amd64'
vagrant basebox define '<boxname>' 'ubuntu-10.10-server-amd64-netboot'
vagrant basebox define '<boxname>' 'ubuntu-10.10-server-i386'
vagrant basebox define '<boxname>' 'ubuntu-10.10-server-i386-netboot'
vagrant basebox define '<boxname>' 'ubuntu-11.04-server-amd64'
vagrant basebox define '<boxname>' 'ubuntu-11.04-server-i386'
vagrant basebox define '<boxname>' 'ubuntu-11.10-server-amd64'
vagrant basebox define '<boxname>' 'ubuntu-11.10-server-amd64-ishaya'
vagrant basebox define '<boxname>' 'ubuntu-11.10-server-amd64-ruby192'
vagrant basebox define '<boxname>' 'ubuntu-11.10-server-i386'
vagrant basebox define '<boxname>' 'ubuntu-8.04.4-server-amd64'
vagrant basebox define '<boxname>' 'ubuntu-8.04.4-server-i386'
vagrant basebox define '<boxname>' 'windows-2008R2-amd64'
Let's define a Ubuntu 10.10 server i386 basebox called myunbuntubox this is essentially making a copy based on the templates provided above.
$ vagrant basebox define 'myubuntubox' 'ubuntu-10.10-server-i386'
The basebox 'myubuntubox' has been succesfully created from the template ''ubuntu-10.10-server-i386'
You can now edit the definition files stored in definitions/myubuntubox
or build the box with:
vagrant basebox build 'myubuntubox'
-> This copies over the templates/ubuntu-10.10-server-i386 to definition/myubuntubox
$ ls definitions/myubuntubox
definition.rb postinstall.sh postinstall2.sh preseed.cfg
Veewee::Session.declare( {
:cpu_count => '1', :memory_size=> '256',
:disk_size => '10140', :disk_format => 'VDI',
:os_type_id => 'Ubuntu',
:iso_file => "ubuntu-10.10-server-i386.iso",
:iso_src => "http://releases.ubuntu.com/maverick/ubuntu-10.10-server-i386.iso",
:iso_md5 => "ce1cee108de737d7492e37069eed538e",
:iso_download_timeout => "1000",
:boot_wait => "10",
:boot_cmd_sequence => [
'<Esc><Esc><Enter>',
'/install/vmlinuz noapic preseed/url=http://%IP%:%PORT%/preseed.cfg ',
'debian-installer=en_US auto locale=en_US kbd-chooser/method=us ',
'hostname=%NAME% ',
'fb=false debconf/frontend=noninteractive ',
'console-setup/ask_detect=false console-setup/modelcode=pc105 console-setup/layoutcode=us ',
'initrd=/install/initrd.gz -- <Enter>'
],
:kickstart_port => "7122", :kickstart_timeout => "10000",:kickstart_file => "preseed.cfg",
:ssh_login_timeout => "10000",:ssh_user => "vagrant", :ssh_password => "vagrant",:ssh_key => "",
:ssh_host_port => "2222", :ssh_guest_port => "22",
:sudo_cmd => "echo '%p'|sudo -S sh '%f'",
:shutdown_cmd => "shutdown -H",
:postinstall_files => [ "postinstall.sh"],:postinstall_timeout => "10000"
}
)
If you need to change values in the templates, be sure to run the rake undefine, the rake define again to copy the changes across.
Put your isofile inside the 'currentdir'/iso directory or if you don't run
$ vagrant basebox build 'myubuntubox'
$ vagrant basebox build 'myubuntubox'
$ vagrant basebox validate 'myubuntubox'
this will run some cucumber test against the box to see if it has the necessary bits and pieces for vagrant to work
$ vagrant basebox export 'myubuntubox'
this is actually calling - vagrant package --base 'myubuntubox' --output 'boxes/myubuntubox.box'
this will result in a myubuntubox.box
To import it into vagrant type:
$ vagrant box add 'myubuntubox' 'myubuntubox.box'
To use it:
$ vagrant init 'myubuntubox'
$ vagrant up
$ vagrant ssh
I suggest the easiest way is to get an account on github and fork of the veewee repository
$ git clone https://github.com/*your account*/veewee.git
$ cd veewee
$ gem install bundler
$ bundle install
If you don't use rvm, be sure to execute vagrant through bundle exec
$ alias vagrant="bundle exec vagrant"
Start of an existing one
$ vagrant basebox define 'mynewos' 'ubuntu...'
IDEAS:
FUTURE IDEAS:
FAQs
Unknown package
We found that HeSYINUvSBZfxqA-veewee demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.